Как перезагрузить метод Configure WebSecurityConfigurerAdapter, когда приложение запущено и работает - PullRequest
0 голосов
/ 03 декабря 2018

Я использую весеннюю загрузку, а в весенней безопасности мы используем "WebSecurityConfigurerAdapter" и используем метод

@Override
    protected void configure(HttpSecurity http) throws Exception {
        AuthenticationFilter authenticationFilter = new AuthenticationFilter(authenticationManager(), tokenService(), externalServiceAuthenticator());
        http.addFilterBefore(authenticationFilter, BasicAuthenticationFilter.class)
        .csrf().disable()
        .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
        .and().authorizeRequests().antMatchers(externalServiceCaller.getPrivateEndPoints())
        .hasAnyAuthority(externalServiceCaller.getAllAuthorities()).anyRequest().authenticated()
        .and().authorizeRequests().anyRequest().anonymous()
        .and().exceptionHandling().authenticationEntryPoint(unauthorizedEntryPoint())
        .and().exceptionHandling().authenticationEntryPoint(forbiddenEntryPoint());
    }

Это хорошо работает для существующей роли и пользователя, но когда мы добавляем больше пользователей и роль ввремя выполнения (после запуска приложения), то Spring Security не может распознать новую роль и нового пользователя.Есть ли способ вызвать вышеупомянутый метод снова, когда приложение запущено и работает.

1 Ответ

0 голосов
/ 04 декабря 2018

Перезагрузка configure(HttpSecurity http) невозможна во время выполнения, потому что это своего рода компоновщик, который создает некоторую часть пружинной цепочки безопасности при запуске приложения - если вы хотите перезагрузить метод, который вызаменить пружинную цепь безопасности во время выполнения - это не так просто и рекомендуется.

Если вам нужно добавить пользователя во время выполнения - внедрить пользовательский AuthentificationProvider

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...