SpringSecurity05

 自动登录

 是基于cookie技术和安全框架机制实现自动登录

 

 一.实现原理

   第一步,初次访问。认证成功之后先用cookie技术加密之后保存到浏览器,然后把用户信息加密保存到数据库。

   第二步,再次访问。获取cookie信息,拿着cookie信息到数据库进行对比,如果查询到对应信息,认证成功,可以登录。

 

二.具体实现

   第一步,现在数据库创建表persistent_logins 

   第二步,配置类,注入数据源,配置操作数据库对象

 //注入数据源
    @Autowired
    private DataSource dataSource;

    @Bean
    public PersistentTokenRepository persistentTokenRepository(){
        JdbcTokenRepositoryImpl jdbcTokenRepository = new JdbcTokenRepositoryImpl();
        jdbcTokenRepository.setDataSource(dataSource);
//        jdbcTokenRepository.setCreateTableOnStartup(true);   自己创建表
        return jdbcTokenRepository;
    };

  第三步,配置类配置自动登录

 .and().rememberMe().tokenRepository(persistentTokenRepository()) //操作数据库的对象
                .tokenValiditySeconds(60) //设置时长,单位秒
                .userDetailsService(userDetailsService)

  第四步,在登录页面添加复选框,name必须是remenmber-me

 <input type="checkbox" name="remember-me"/>自动登录

  

 

posted @ 2022-05-16 14:01  不想当将军的好士兵  阅读(36)  评论(0)    收藏  举报