Весенняя безопасность боевой галантереи: муравьиный стиль на пути Ури

Spring Boot

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