短信验证码登陆怎么使用remember-me功能?
来源:4-10 短信验证码接口开发

慕村6135595
2020-02-06
添加短信登陆功能后,怎么让短信登陆支持remember-me?
写回答
2回答
-
hi小天
2021-06-19
@Component public class SmsCodeSecurityConfigurer extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> { @Autowired private AuthenticationSuccessHandler authenticationSuccessHandler; @Autowired private AuthenticationFailureHandler authenticationFailureHandler; @Autowired private UserDetailsService userDetailsService; @Override public void configure(HttpSecurity http) throws Exception { SmsAuthenticationFilter smsAuthenticationFilter = new SmsAuthenticationFilter(); smsAuthenticationFilter.setAuthenticationManager(http.getSharedObject(AuthenticationManager.class)); smsAuthenticationFilter.setAuthenticationFailureHandler(authenticationFailureHandler); smsAuthenticationFilter.setAuthenticationSuccessHandler(authenticationSuccessHandler); RememberMeServices rememberMeServices = http.getSharedObject(RememberMeServices.class); if (rememberMeServices != null) { smsAuthenticationFilter.setRememberMeServices(rememberMeServices); } SmsCodeAuthenticationProvider smsAuthenticationProvider = new SmsCodeAuthenticationProvider(); smsAuthenticationProvider.setUserDetailsService(userDetailsService); http.authenticationProvider(smsAuthenticationProvider) // smsAuthenticationFilter 在 UsernamePasswordAuthenticationFilter 之前加入到过滤器链中, 通过order的指定实现 // filter的前后顺序, smsAuthenticationFilter前面, UsernamePasswordAuthenticationFilter 后面 .addFilterAfter(smsAuthenticationFilter, UsernamePasswordAuthenticationFilter.class); } }
最重要是这段;
RememberMeServices rememberMeServices = http.getSharedObject(RememberMeServices.class);
00 -
JoJo
2020-02-17
一般不建议这么做,如果要支持的话和普通的原理一样,多传一个remember-me参数就可以了
00
Spring Security技术栈开发企业级认证与授权
Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全
2662 学习 · 1561 问题
相似问题