0

我正在开发一个使用 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。这两者之间可能有什么区别?什么时候用哪一个?

任何人都可以帮我解决这个问题。

提前致谢。

阿山

4

1 回答 1

1

不幸的是,您的方法是无用的。这不会给您带来任何单点登录。您必须编写一个 KerberosRealm 来处理来自客户端的票证。这将为您提供完整的 SSO。

于 2011-08-19T19:50:31.097 回答