SSM整合shiro实现多用户表多Realm统一登录认证(大章附代码)

编程

前言
说明一下需求,最近做的平台,有多张用户表,怎么根据不同用户登录去执行自己查询不同数据库并实现认证的业务逻辑呢?

博主参与的产品开发进入阶段性完成期,有时间将过程中遇到的相关问题一一总结。

总结
实现本需求,首先是从Subject入手,它是完成shiro登录过程的入口,login(UsernamePasswordToken)方法完成用户名密码传递,后面自己实现Realm去认证登录,关键就在如何区分这些用户名密码是对应哪个数据库表,若有一个状态去判断它们,则可以解决问题。

设计上的反思
其实从实际参与这个大产品开发之后,越来越发现,它不便于我们对各类用户的管理,虽然做了很多针对shiro的扩展去实现自己想要的功能,但渐渐明白为什么shiro不提供这样的解决方案。 
这里,博主也建议,用户表可以有多个,但登录认证的表其实只保留一个就好,将你的多Realm抽象出来一个关系表映射,将各种状态加入,登录等认证交由统一维护,具体信息查询等封装抽象,下面做对应实现即可,这样才应该是跨平台的,以后也只需要存储跟别的平台的用户关系绑定,就完成了登录。

转载内容https://blog.csdn.net/visket2008/article/details/78539334   码云传送门https://gitee.com/visket/cloud

以上是 SSM整合shiro实现多用户表多Realm统一登录认证(大章附代码) 的全部内容, 来源链接: utcz.com/z/516779.html

回到顶部