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

/**  
  * 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( 64.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学习就到此结束了。日后学到了更深的技术点或者使用过程中有遇到什么坑就再更新。

微服务专题  springboot,学习导图(建议收藏)

\"\"

针对这些专题我也整理了一套springboot资料。

\"\"

\"\"

资料获取方式

加群828545509获取,同时里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析
,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。

点击链接加入群聊【Java高级架构师学习群】:https://jq.qq.com/?_wv=1027&k=5T2kMGl

收藏 打印