Spring Security 3.1和Active Directory – 如何设置用户和组的configuration

我一直无法find与我想要达成的目标有关的任何事情

我有一个使用Spring Secuirty 3.1的Web系统,它需要链接Active Directory中的用户。 对于我的开发人员,我只是将它们存储在spring-security.xml文件中。 这很好,但对于生产,我需要从Active Directory链接用户。 我现在有这个工作,所以我可以login等,所以这不是问题。 我的问题是,在我的本地开发工作中,我有用户和“组”,即ROLE_USER和ROLE_ADMIN。

在Active Directory中,有两个组映射到这些名称。 我需要做基于这些angular色types的URL拦截URL,但我不知道如何做到这一点的活动目录

这是我的本地开发版本,硬编码身份validation提供程序中的用户。 这需要forr活动目录:

<http auto-config="true" disable-url-rewriting="true"> <intercept-url pattern="/test/*" access="ROLE_USER, ROLE_ADMIN" /> <intercept-url pattern="/admin" access="ROLE_ADMIN" /> <intercept-url pattern="/list*" access="ROLE_USER, ROLE_ADMIN" /> <form-login login-page="/login" default-target-url="/home" authentication-failure-url="/loginfailed" /> <logout invalidate-session="true" logout-success-url="/logout" /> <session-management invalid-session-url="/login"> <concurrency-control max-sessions="1" error-if-maximum-exceeded="true"/> </session-management> </http> <authentication-manager> <authentication-provider> <user-service> <user name="test" password="test" authorities="ROLE_USER" /> <user name="admin" password="admin" authorities="ROLE_ADMIN" /> </user-service> </authentication-provider> </authentication-manager> 

但是,我需要做的是将其replace为基于Active Directory的身份validationpipe理器。

 <authentication-manager> <authentication-provider ref="ldapActiveDirectoryAuthProvider"/> </authentication-manager> 

我知道用户在AD的这个目录中:

OU =用户,OU = Z3,DC = I1,DC = Z12,DC = R1,DC =净

这些团体在:

OU =组,OU = Z3,DC = I1,DC = Z12,DC = R1,DC =净

Active Directory中用于login的关键属性是“SAM-Account-Name”

请帮忙。

看看Spring Security Reference!

第19.5章Active Directoryauthentication