五分钟带你玩转SpringSecurity(七)带你优雅的实现记住我功能

简介: 五分钟带你玩转SpringSecurity(七)带你优雅的实现记住我功能


记住我是登录常用功能 即登录一次过一段时间免登录

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); // 记住我有效时长
    }
}


相关文章
|
8月前
|
XML 安全 前端开发
SpringSecurity系列(四) Spring Security 实现权限树形菜单
SpringSecurity系列(四) Spring Security 实现权限树形菜单
|
8月前
|
XML 安全 Java
SpringSecurity系列(三) Spring Security 表单登录
SpringSecurity系列(三) Spring Security 表单登录
190 0
|
3月前
|
JSON 安全 Java
SpringSecurity专题
SpringSecurity专题
|
8月前
【SpringSecurity 】SpringSecurity 自定义登录页面
【SpringSecurity 】SpringSecurity 自定义登录页面
147 0
|
8月前
|
SQL 安全 Java
【SpringSecurity】简介
【SpringSecurity】简介
71 0
|
安全 前端开发 Java
SpringSecurity的使用
SpringSecurity的使用
103 1
SpringSecurity的使用
SpringSecurity框架
SpringSecurity框架
45 0
|
存储 安全 Java
SpringSecurity基础-简单登录实现
1.SpringSecurity介绍 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
107 0
|
存储 安全 Java
二.SpringSecurity基础-简单登录实现
SpringSecurity基础-简单登录实现