使用Grails Shiro插件实现AuthorizingRealm

时间:2012-03-30 04:18:23

标签: grails grails-plugin shiro grails-2.0

我正在尝试使用Grails Shiro插件实现AuthorizingRealm。使用插件生成的类ShiroLdapRealm对Active Directory进行身份验证。角色将保留在应用程序的数据库中。

那么如何将ShiroLdapRealm身份验证与我的自定义授权相集成?在我看来,Grails Shiro插件使用RealmWrapper从Grails世界隐藏Shiro的内部,它只实现了一个标准的Realm类,而不是AuthorizingRealm。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

之前我没有使用过shiro,但是我已经在几个项目中成功使用了shiro插件......

因此,如果您已经有了LdapRealm,请将ShiroLdapRealm.groovy文件复制到安全备份位置并将其从项目中删除...

接下来,创建一个shiro通配符域(create-wildcard-realm)。这将创建一个具有身份验证和授权功能的领域。

authenticate()方法从旧区域复制到此区域......

现在,您可以使用有效ShiroUser作为结果对LDAP进行身份验证。

您可以为此用户分配ShiroRole及相应的权限。

您可以在引导程序中轻松创建具有权限的所需角色,并根据您从目录服务中读取的ACL将其分配给用户...

希望有所帮助