java Apache Shiro,来自数据库的权限控制
我需要在我正在开发的桌面应用程序中实现一个安全框架来控制身份验证和用户权限控制。我听说Shiro是一个易于使用且灵活的框架。不幸的是,我只遇到了基于web的应用程序示例
我要寻找的是如何从数据库中检索权限级别和用户,然后将其与Shiro一起使用。以前有没有人开发过类似的东西,或者知道任何我可以查看的教程?我需要了解如何构造数据库表,以及如何使用Shiro读取权限
你可以在下面搜索框中键入要查询的问题!
我需要在我正在开发的桌面应用程序中实现一个安全框架来控制身份验证和用户权限控制。我听说Shiro是一个易于使用且灵活的框架。不幸的是,我只遇到了基于web的应用程序示例
我要寻找的是如何从数据库中检索权限级别和用户,然后将其与Shiro一起使用。以前有没有人开发过类似的东西,或者知道任何我可以查看的教程?我需要了解如何构造数据库表,以及如何使用Shiro读取权限
# 1 楼答案
Shiro
与用户模型的外观无关。它提供了接口,即Subject
和Realm
,以及它的子AuthenticatingRealm
和AuthorizingRealm
,用于以您想要的任何方式与该模型交互AuthenticatingRealm
的自定义实现将实现doGetAuthenticationInfo
,在该实现中,您使用用户模型创建一个AuthenticationInfo
对象,该对象保存principal
或用户的身份验证信息为了获得授权,您将执行类似的操作。调用
Subject#isPermitted(String)
将在堆栈的更深处检查AuthorizationInfo
对象,以获取从数据库或其他源(xml、纯文本等)检索到的授权信息所以只需实现自己的
AuthenticatingRealm
和AuthorizingRealm
(可能在同一个类中),并将它们注册到SecurityManager