2011-08-17 80 views
0

我正在使用Apache Shiro进行身份验证的Grails Web应用程序。现在我被要求实现与此应用程序的SSO和Active Directory集成。由于我是LDAP/AD的新手,我很难正确实施它。Apache Shiro/Active Directory集成以支持Grails Web应用程序中的SSO

这是我做的,我通过执行以下命令生成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在一些职位中提到的困惑。这两者有什么区别?哪一个使用时?

任何人都可以请帮助我。

在此先感谢。

Ahsan

回答

1

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