1
我用DSQUERY对收到有关我在公元登录信息,我收到了关于组的名字我所属的信息。的Grails的Spring Security 2.0 Active Directory身份验证使用用户的组
-name
CN=Surname Name I,OU=CITY,OU=FOLDER,OU=Users,DC=domain,DC=com
-group
CN=Name-of-Group Using Spaces, OU=Department ,OU=Folder_two,OU=Folder_one,OU=Groups,DC=domain,DC=com
所以,我想使接受登录只对我或谁在于我的用户群( CN =名称 - 的 - 组使用空间 )。这是我的
Config.groovy
grails.plugin.springsecurity.ldap.context.managerDn = 'Surname Name I,OU=CITY,OU=FOLDER,OU=Users,DC=domain,DC=com'
grails.plugin.springsecurity.ldap.context.managerPassword = 'password'
grails.plugin.springsecurity.ldap.context.server = 'ldap://server:xxx/'
grails.plugin.springsecurity.ldap.authorities.ignorePartialResultException = true
grails.plugin.springsecurity.ldap.search.base = 'DC=domain,DC=com'
grails.plugin.springsecurity.ldap.search.filter="(&(sAMAccountName={0})(objectclass=user))"
grails.plugin.springsecurity.successHandler.defaultTargetUrl = '/view/index'
grails.plugin.springsecurity.ldap.search.searchSubtree = true
grails.plugin.springsecurity.ldap.auth.hideUserNotFoundExceptions= false
grails.plugin.springsecurity.providerNames=['ldapAuthProvider']
grails.plugin.springsecurity.securityConfigType = 'Annotation'
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
'/view/index':['IS_AUTHENTICATED_FULLY']
// '/view/index':['ROLE_Name-of-Group Using Spaces'] - this is what I tryed to use also and Its not working
]
这是工作配置,但问题是,任何来自域的用户都有权访问。
您是否尝试过'... ldap.search.base'的变体?另一个选择是向所有控制器添加一个@Secured(['ROLE_Name-of-Group Using Spaces'])'注释。但是,这仍然可以让每个人都进行身份验证。不在特定组中的用户只能看到“被拒绝”页面。 –
使用'@ Secured'没有帮助。我收到了''对不起,您无权查看此页面。“'消息。另外,我尝试在'ldap.search.base'中使用''使用空间的名称组合'' - 这个解决方案也不起作用。 – lsv