Redis与Shiro集群怎么使用

Redis与Shiro集群怎么使用

这篇文章主要讲解了“Redis与Shiro集群怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis与Shiro集群怎么使用”吧!

具体内容

如果现在使用了Shiro集群,为了避免出现访问的问题,那么一定需要将所有Shiro的Session缓存到Redis数据库之中,而后Shiro登录分为两部分:登录认证、授权。为了防止出现重复的登录操作,所以本次在进行处理的时候要对两个数据进行缓存:Shiro的Session处理、Shiro角色信息。同时为了方便处理,本次将采用Spring-Data框架针对于Redis进行处理。


在之前使用过的Session的管理采用了如下配置的一个类完成:

1、需要定义一个自己的SessionDAO的实现,这个DAO的实现最好直接继承“EnterpriseCacheSessionDAO”父类。

2、修改applicationContext.xml配置文件:

那么此时在分布式集群中所有可以使用的Session数据都会保存在Redis里面。

3、总结

由于Shiro有自己的Session实现机制,所以在分布式集群之中,此类模式一定是必然的选择。


课程名称:利用Redis序列化角色与权限数据

2、具体内容

在之前学习Shiro的时候由于只是单WEB端,所以所有的角色与权限都序列化到了内存里面,使用了EHCache缓存组件完成的,具体的配置如下:

但是现在是属于服务器集群的环境下,那么现在如果将某一个角色或权限只是保存在了一台WEB服务器的内存里面,那么其它的服务器如果需要角色或权限还需要进行一次查询。现在最好的做法也是将角色和权限的数据序列化到Redis数据里面,这样就不需要每一个的WEB端进行重复的查询处理了。1、首先如果要想将数据序列化到Redis数据库之中,那么现在就必须有一个与之匹配的Cache处理类,就是CRUD。范例:定义RedisCache处理类

2、所有的Cache接口的对象一定要通过CacheManager进行处理。范例:定义RedisCacheManager程序类

3、修改applicationContext.xml配置文件:

那么此时所有的权限与角色的缓存数据都将保存在Redis数据库里面。

感谢各位的阅读,以上就是“Redis与Shiro集群怎么使用”的内容了,经过本文的学习后,相信大家对Redis与Shiro集群怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是恰卡编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

发布于 2021-12-23 21:17:17
收藏
分享
海报
0 条评论
95
上一篇:如何进行Bitbucket服务与数据中心远程代码执行漏洞通告 下一篇:如何用Rust从头构建Demikernel操作系统的TCP/IP 协议栈
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码