1. Введение
Когда мы читаем некоторые статьи, мы часто сталкиваемсяuriслужба поддержкиAntстиль, и эта вещь вSpring MVCа такжеSpring Securityчасто упоминается в. Что это? Давайте узнаем об этом сегодня. Это для нас, чтобы узнатьSpring MVCа такжеSpring SecurityОчень необходимо.
2. Муравьиный стиль
если быть честнымAntСтиль — это выражение сопоставления путей. в основном используется дляuriсовпадение. По сути, роль регулярных выражений та же, но применение регулярных выражений шире.AntИспользуется только для сопоставления путей.
3. Подстановочные знаки муравья
AntЕсть три вида подстановочных знаков в :
-
?соответствует любому одиночному символу -
*соответствует 0 или любому количествуперсонаж -
**соответствует 0 или болеесодержание
Обратите внимание, что один*соответствует каталогу. а также**Да, он может соответствовать нескольким каталогам, так что не путайтесь.
3.1 Пример подстановочного знака Ant
| подстановочный знак | Пример | иллюстрировать |
|---|---|---|
? |
/ant/p?ttern |
Совпадение с корневым путем проекта/ant/patternа также/ant/pXttern,но не включает/ant/pttern
|
* |
/ant/*.html |
Соответствует всем файлам в корневом пути проектаantпод дорожкой.htmlдокумент |
* |
/ant/*/path |
/ant/path,/ant/a/path,/ant/bxx/pathоба совпадают, не совпадают/ant/axx/bxx/path
|
** |
/ant/**/path |
/ant/path,/ant/a/path,/ant/bxx/path,/ant/axx/bxx/pathоба совпадают |
3.2 Принцип наибольшего соответствия
Из 3.1 видно, что*а также**Есть конфликт. Чтобы разрешить этот конфликт, указывается самый длинный принцип сопоставления (имеет больше символов). когдаuriСоответствовать обоимAntЧтобы сопоставить, перейдите к тому, у которого больше всего символов в правиле сопоставления. Зачем идти дольше всех? Потому что чем длиннее символы, тем конкретнее информация. Например/ant/a/pathудовлетворить обоих/**/pathа также/ant/*/pathзатем перейти/ant/*/path
4. Стиль Ant в Spring MVC и Spring Security
Далее посмотримSpring MVCа такжеSpring SecurityвнизAntстиль.
4.1 Стиль Ant в Spring MVC
Также упоминается здесьSpring MVCВ пишем в контроллере следующий интерфейс:
/**
* ant style test.
*
* @return the string
*/
@GetMapping("/?ant")
public String ant() {
return "ant";
}
вы используете любой легальныйuriзамена символов?может быть найдено соответствие, например/bant. И используются некоторые регистрации фильтров и форматирования Spring MVC.Antстиль.
4.2 Стиль Ant в Spring Security
существуетSpring SecurityсерединаWebSecurityConfigurerAdapterВы можете выполнять управление доступом к разрешениям маршрутизации, настроив следующие параметры:
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
authenticationManagerBuilder.inMemoryAuthentication().withUser("admin").password("admin").roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
//放行静态资源 首页
.antMatchers("/index.html","/static/**").permitAll()
.anyRequest().authenticated();
}
}
надSpring Securityв конфигурацииantMatchersчерез методAntПодстановочные знаки для управления доступом к ресурсам. Я также опубликую соответствующие уроки позже, пожалуйста, обратите внимание на публичный номер: Felordcn и личный блог:felord.cn
5. Резюме
AntОбщий стиль не очень, и его легко понять. Многое оuriКонфигурация, сопоставление маршрутов и обработка используютсяAntстиль . Это один из обязательных навыков для веб-разработчиков.
关注公众号:Felordcn获取更多资讯
Личный блог: https://felord.cn