问一下只想用shiro控制权限,不做登录验证,能实现么
来源:3-12 Apache Shiro权限管理框架总结
yinhaonefu
2018-09-20
公司已经有统一的单点登录系统,我只是想使用登录后的用户名,通过shiro来控制自己应用的权限,但是看视频shiro的工作流程都是先登录,后校验权限。怎么能绕过登录这步,subject还可以是当前登录的用户呢?springboot整合shiro中,我每次直接checkRole的时候都提示未登录或没有principal,怎么能把这个用户名传给shiro呢?非常感谢
写回答
1回答
-
你好,你如果使用shiro肯定是要按照shiro的要求来的,至少会话管理是要交给他的,使用框架都有这个问题,你必须按照他的要求他才能生效。
对于shiro而言,核心要让他知道你登录然后才能判断当前用户是否有权限。shiro里本身提供了session、sessionDao、sessionManager等,也支持扩展完成单点登录,如果不是以这个为基础做的单点登录,调整起来也会很麻烦,毕竟集群环境下不能每台服务器处理请求都要login一下。
当然你可以不使用login方法做实际登录校验,可以在成功后单独掉一下shiro的login方法来让shiro对会话进行管理,但那样就是两套会话管理了,完全可以换成shiro自己的。
总之,你如果使用shiro,建议还是按照shiro的要求来,简单也节省资源,你自己实现的也不一定有shiro实现的好,该有的他都有了。122018-09-20
相似问题