五分钟带你玩转SpringSecurity(七)带你优雅的实现记住我功能
【摘要】
记住我是登录常用功能 即登录一次过一段时间免登录
SpringSecurityConfig
dataSource,jdbcTokenRepository,configure后三行为记住我配置 同时提供了一个persistent_logins表作为记住我功能的记录(会自动生成)
@EnableWebSecuritypublic cl...
记住我是登录常用功能 即登录一次过一段时间免登录
SpringSecurityConfig
dataSource,jdbcTokenRepository,configure后三行为记住我配置 同时提供了一个persistent_logins表作为记住我功能的记录(会自动生成)
-
@EnableWebSecurity
-
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
-
-
-
@Autowired
-
DataSource dataSource;
-
-
/**
-
* 记住我功能
-
*
-
* @return
-
*/
-
@Bean
-
public JdbcTokenRepositoryImpl jdbcTokenRepository() {
-
JdbcTokenRepositoryImpl jdbcTokenRepository = new JdbcTokenRepositoryImpl();
-
jdbcTokenRepository.setDataSource(dataSource);
-
return jdbcTokenRepository;
-
}
-
-
-
@Override
-
protected void configure(HttpSecurity http) throws Exception {
-
// 验证码过滤器
-
http.addFilterBefore(imageCodeValidateFilter, UsernamePasswordAuthenticationFilter.class)
-
// 跳转前台的地址
-
.formLogin().loginPage("/loginPage")
-
// 登录调用的接口地址
-
.loginProcessingUrl("/login").successHandler(customAuthenticationSuccessHandler)
-
// 无权限允许访问
-
.and().authorizeRequests()
-
.antMatchers("/login", "/loginPage", "/code/image", "/logout/expirePage", "/logout/page",
-
"/oauth/logoutSession", "/oauth/customLogout")
-
.permitAll().anyRequest().authenticated()
-
// 记住功能配置
-
.and().rememberMe()
-
.tokenRepository(jdbcTokenRepository()) // 保存登录信息
-
.tokenValiditySeconds(60 * 30 * 30); // 记住我有效时长
-
-
}
-
}
文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。
原文链接:baocl.blog.csdn.net/article/details/113753749
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)