Можно ли полностью заменить поставщика по умолчанию на собственный?
Как Добавляю свои
Код: Выделить всё
@Bean
public RememberMeAuthenticationProvider rememberMeAuthenticationProvider(MessageSource messageSource) {
var authProvider = new MyRememberMeAuthenticationProvider(REMEMBER_ME_KEY);
authProvider.setMessageSource(messageSource);
return authProvider;
}
@Bean
public SecurityFilterChain filterChain(HttpSecurity http,
MvcRequestMatcher.Builder mvc,
MessageSource messageSource) throws Exception {
http
.csrf(csrf -> csrf.csrfTokenRequestHandler(csrfRequestHandler)
.ignoringRequestMatchers(LOGIN_URI + "**"))
.authenticationProvider(authenticationProvider)
.authenticationProvider(rememberMeAuthenticationProvider(messageSource))
return http.build();
}
Код: Выделить всё
@Override
public void configure(H http) {
RememberMeAuthenticationFilter rememberMeFilter = new RememberMeAuthenticationFilter(
http.getSharedObject(AuthenticationManager.class), this.rememberMeServices);
if (this.authenticationSuccessHandler != null) {
rememberMeFilter.setAuthenticationSuccessHandler(this.authenticationSuccessHandler);
}
SecurityContextConfigurer securityContextConfigurer = http.getConfigurer(SecurityContextConfigurer.class);
if (securityContextConfigurer != null && securityContextConfigurer.isRequireExplicitSave()) {
SecurityContextRepository securityContextRepository = securityContextConfigurer
.getSecurityContextRepository();
rememberMeFilter.setSecurityContextRepository(securityContextRepository);
}
rememberMeFilter.setSecurityContextHolderStrategy(getSecurityContextHolderStrategy());
rememberMeFilter = postProcess(rememberMeFilter);
http.addFilter(rememberMeFilter);
}
Код: Выделить всё
0 = {MyAuthenticationProvider@17013}
1 = {MyRememberMeAuthenticationProvider@16992}
2 = {AnonymousAuthenticationProvider@26592}
3 = {RememberMeAuthenticationProvider@18312}
Возможно ли это?< /p>
Большое спасибо,
Майк
Подробнее здесь: https://stackoverflow.com/questions/792 ... g-security
Мобильная версия