Apache Shiro/Active Directory集成以支持grails web应用程序中的SSO

Apache Shiro/Active Directory集成以支持grails web应用程序中的SSO,grails,active-directory,ldap,single-sign-on,shiro,Grails,Active Directory,Ldap,Single Sign On,Shiro,我正在开发一个GrailsWeb应用程序,它使用ApacheShiro进行身份验证。现在我被要求将SSO和Active directory集成到这个应用程序中。因为我是LDAP/AD新手,所以很难正确地实现它 下面是我所做的,我通过执行一些网站上提到的以下命令生成了一个shiroldapream.groovy文件 grails create-ldap-realm 然后,我在grails app/conf/Config.groovy中为LDAP添加了一些配置属性 ldap.server.url

我正在开发一个GrailsWeb应用程序,它使用ApacheShiro进行身份验证。现在我被要求将SSO和Active directory集成到这个应用程序中。因为我是LDAP/AD新手,所以很难正确地实现它

下面是我所做的,我通过执行一些网站上提到的以下命令生成了一个shiroldapream.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来根据生成的ShiroldaPream进行身份验证。我只是想为shiro提供一种SSO体验,用户来自Windows Active Directory。我找不到任何好的文档

此外,我对是否使用Shiroldapream或ActiveDirectoryRealm感到困惑,正如一些帖子中提到的那样。这两者之间有什么区别?什么时候用哪个

谁能帮我一下吗

提前谢谢


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