美文网首页Shiro
SpringBoot+Shiro学习(八):RememberMe

SpringBoot+Shiro学习(八):RememberMe

作者: Hiwayz | 来源:发表于2018-09-06 19:48 被阅读7次

    这一章比较简单,就不多说了,上代码:

    /**  
      * cookie对象;  
      * rememberMeCookie()方法是设置Cookie的生成模版,比如cookie的name,cookie的有效时间等等。  
      * @return  
     */  
    @Bean  
    public SimpleCookie rememberMeCookie(){  
          //System.out.println("ShiroConfiguration.rememberMeCookie()");  
          //这个参数是cookie的名称
          SimpleCookie simpleCookie = new SimpleCookie("rememberMe");  
          //<!-- 记住我cookie生效时间30天 ,单位秒;-->  
          simpleCookie.setMaxAge(259200);  
          return simpleCookie;  
    }  
      
    /**  
      * cookie管理对象;  
      * rememberMeManager()方法是生成rememberMe管理器,而且要将这个rememberMe管理器设置到securityManager中  
      * @return  
     */  
    @Bean  
    public CookieRememberMeManager rememberMeManager(){  
          //System.out.println("ShiroConfiguration.rememberMeManager()");  
          CookieRememberMeManager cookieRememberMeManager = new CookieRememberMeManager();  
          cookieRememberMeManager.setCookie(rememberMeCookie());  
          //rememberMe cookie加密的密钥 建议每个项目都不一样 默认AES算法 密钥长度(128 256 512 位)  
          cookieRememberMeManager.setCipherKey(Base64.decode("2AvVhdsgUs0FSA3SDFAdag=="));  
          return cookieRememberMeManager;  
    }  
      
    @Bean(name = "securityManager")  
    public DefaultWebSecurityManager defaultWebSecurityManager(MyShiroRealm realm){  
          DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();  
          //设置realm  
          securityManager.setRealm(realm);  
          //用户授权/认证信息Cache, 采用redis缓存  
          securityManager.setCacheManager(redisCacheManager());  
          //注入记住我管理器  
          securityManager.setRememberMeManager(rememberMeManager());  
          return securityManager;  
    }
    
    boolean remeberme = true;//前端返回的是否记住我
    UsernamePasswordToken token = new UsernamePasswordToken(name,password,rememberme);
    //或
    token.setRememberMe(remeberme );
    

    到此,这一阶段的Shiro学习就到此结束了。日后学到了更深的技术点或者使用过程中有遇到什么坑就再更新。最后如果想看我的所有代码,可以上我的GitHub查看和下载:
    https://github.com/hiwayzhu/SpringBoot-Shiro

    相关文章

      网友评论

        本文标题:SpringBoot+Shiro学习(八):RememberMe

        本文链接:https://www.haomeiwen.com/subject/qaqfgftx.html