Как добавить совпадения в HttpSecurity Spring Web Secure - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь реализовать Spring Security, но у меня много ролей и привилегий, затем я хочу динамически добавлять роли друг другу в ресурсы. Как это:

@Override
protected void configure(HttpSecurity http) throws Exception {
    super.configure(http);


    //PageRequest p = new PageRequest(0, 1000);

    List<RolePrivilegeConfig> rolePrivilegesConfig=rolePrivilegeConfigService.findAll();

    for (RolePrivilegeConfig rolePrivilegeConfig : rolePrivilegesConfig) {

        http.authorizeRequests()
        .antMatchers("/login").permitAll()
        .antMatchers(rolePrivilegeConfig.getResource())
        .access(rolePrivilegeConfig.getRoleName())
        .anyRequest().authenticated();               
    } }

У меня есть эта ошибка:

Не удалось создать экземпляр [javax.servlet.Filter]: Фабричный метод 'springSecurityFilterChain' вызвал исключение;Вложенное исключение - java.lang.IllegalStateException: не может настроить antMatchers после anyRequest.

Как я могу поместить все соответствия и запрос вызова после?

1 Ответ

1 голос
/ 16 октября 2019
@Override
protected void configure(HttpSecurity http) throws Exception {
    super.configure(http);


    //PageRequest p = new PageRequest(0, 1000);

    List<RolePrivilegeConfig> rolePrivilegesConfig=rolePrivilegeConfigService.findAll();

    http.authorizeRequests()
        .antMatchers("/login").permitAll();

    for (RolePrivilegeConfig rolePrivilegeConfig : rolePrivilegesConfig) {

        http.authorizeRequests()
        .antMatchers(rolePrivilegeConfig.getResource())
        .access(rolePrivilegeConfig.getRoleName());
    }

    http.authorizeRequests()
        .anyRequest().authenticated();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...