Apache Shiro/Active Directory 集成以支持 Grails Web 应用程序中的 SSO
Posted
技术标签:
【中文标题】Apache Shiro/Active Directory 集成以支持 Grails Web 应用程序中的 SSO【英文标题】:Apache Shiro/Active Directory integration to support SSO in a grails web application 【发布时间】:2011-10-28 20:44:44 【问题描述】:我正在开发一个使用 Apache Shiro 进行身份验证的 grails Web 应用程序。现在,我被要求在此应用程序中实现 SSO 和 Active Directory 集成。由于我是 LDAP/AD 新手,我很难正确实施它。
这就是我所做的,我通过执行某些网站上提到的以下命令生成了一个 ShiroLdapRealm.groovy 文件。
grails create-ldap-realm
然后我在 grails-app/conf/Config.groovy 中为 LDAP 添加了一些配置属性。
ldap.server.url = "ldap://localhost:10389"
ldap.search.base = "ou=users,ou=system"
ldap.search.user = "uid=admin,ou=system"
ldap.search.pass = "secret"
ldap.username.attribute = "uid"
ldap.skip.authentication = false
ldap.skip.credentialsCheck = false
ldap.allowEmptyPasswords = false
但现在我不确定如何在我的应用程序中获取当前登录的 windows 用户并提供一个 UsernamePasswordToken 来针对这个生成的 ShiroLdapRealm 进行身份验证。我只是想为用户来自 Windows Active Directory 的 shiro 提供 SSO 体验。我找不到任何好的文档。
此外,我对是否使用某些帖子中提到的 ShiroLdapRealm 或 ActiveDirectoryRealm 感到困惑。这两者之间可能有什么区别?什么时候用哪个?
谁能帮我解决这个问题。
提前致谢。
阿山
【问题讨论】:
【参考方案1】:不幸的是,您的方法毫无用处。这不会给您带来任何单点登录。您必须编写一个 KerberosRealm 来处理来自客户端的票证。这将为您提供完整的 SSO。
【讨论】:
以上是关于Apache Shiro/Active Directory 集成以支持 Grails Web 应用程序中的 SSO的主要内容,如果未能解决你的问题,请参考以下文章