我正在开发一个使用 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。这两者之间可能有什么区别?什么时候用哪一个?
任何人都可以帮我解决这个问题。
提前致谢。
阿山