使用 Grails Shiro 插件实现 AuthorizingRealm
Posted
技术标签:
【中文标题】使用 Grails Shiro 插件实现 AuthorizingRealm【英文标题】:Implementing a AuthorizingRealm with Grails Shiro plugin 【发布时间】:2012-04-13 18:48:39 【问题描述】:我正在尝试。使用插件生成的类 ShiroLdapRealm 对 Active Directory 进行身份验证。角色将在应用程序的数据库中维护。
那么如何将 ShiroLdapRealm 身份验证与我的自定义授权相结合?在我看来,Grails Shiro 插件使用 RealmWrapper 向 Grails 世界隐藏 Shiro 的内部结构,它只实现了一个标准的 Realm 类,而不是 AuthorizingRealm。
有什么想法吗?谢谢!
【问题讨论】:
【参考方案1】:之前没用过shiro,但是已经在几个项目中成功使用过shiro插件了……
所以,如果您已经有一个可以工作的 LdapRealm,请将 ShiroLdapRealm.groovy 文件复制到安全的备份位置,然后将其从项目中删除...
接下来,创建一个 shiro 通配符领域 (create-wildcard-realm
)。这将创建一个具有身份验证和授权功能的领域。
将 authenticate()
方法从您的旧领域复制到此...
现在您可以使用有效的ShiroUser
对 LDAP 进行身份验证。
你可以给ShiroRole
s分配相应的权限给这个用户。
您可以轻松地在引导程序中创建具有权限的所需角色,并根据您从目录服务中读取的 ACL 将它们分配给用户...
希望对你有帮助
【讨论】:
以上是关于使用 Grails Shiro 插件实现 AuthorizingRealm的主要内容,如果未能解决你的问题,请参考以下文章