三、Shiro 缓存管理
Shiro缓存管理
其缓存管理仍旧是依赖于Redis进行实现。
意为将从数据库取出来的数据放置到Redis缓存中去,如果缓存中有直接取出,没有则去数据库中获取并且放置到Reids缓存中。
步骤:
与之前的Session管理一致。首先创建CacheManager并且实现CacheManager接口。
创建Cache类实现Cache接口,其中有增删改查等方法。同样通过序列化与反序列化、二进制数组键值对等实现其中方法。
在CacheManager类中注入Cache类,并且将其作为返回值写入到实现的唯一方法的返回处。
将CacheManager在Spring.xml中进行配置Bean,并且将次设置到SecurityManager中。
都是通过JedisUtil完成的操作,均是将数据保存到了Redis中,无论是Session还是缓存只是多了一个Redis进行管理。
四、自动登录
Shiro 自动登录,意为记住密码。将用户名与密码记录在Cookie中。
主要通过配置来实现自动登录。【即:可以不登录,访问其他路径,就相当于sessionid 没有过期一个效果,记住了只要cookie没过期,也可以访问其他页面。】
步骤:
前端编码复选框“记住我“。
在Spring.xml文件中进行配置,配置CookieRememberMeManager,并且利用属性cookie,将外边的bean的SimpleCookie注入进去。SimpleCookie用构造方法设置名称,之后通过属性用maxAge设置超时时间即可。
在登录的时候,传入UserNameAndPassowrdToken的时候,其对象可以设置setRememberMe的属性,为true即为记住登录。