使用 Active Directory 的 Spring Security 3.1

Posted

技术标签:

【中文标题】使用 Active Directory 的 Spring Security 3.1【英文标题】:Spring Security 3.1 using Active Directory 【发布时间】:2012-03-25 18:09:45 【问题描述】:

我正在尝试使用 Spring Security 3.1 保护我的 Spring 3.1 Web 应用程序,并且我需要使用 Active Directory 进行用户身份验证。 但是,我似乎找不到完整的配置步骤。我尝试了不同的建议,但它们对我不起作用。

使 Spring 3.1 Web 应用程序能够将 Spring Security 3.1 与 Active Directory 一起使用的完整配置步骤是什么?

【问题讨论】:

【参考方案1】:
<beans:bean id="adAuthProvider" class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider">
    <beans:constructor-arg value="[your domain]" />
    <beans:constructor-arg value="ldap://[your AD server]:389" />
    <beans:property name="userDetailsContextMapper">
        <beans:bean class="[your user-details context mapper]" />
    </beans:property>
</beans:bean>
<authentication-manager alias="authenticationManager">

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

如果您需要为从 AD 条目映射用户和权限提供自定义逻辑,您可以实现自己的 UserDetailsContextMapper 实现并在 adAuthProvider bean 的 userDetailsContextMapper 属性中指定它。

【讨论】:

以上是关于使用 Active Directory 的 Spring Security 3.1的主要内容,如果未能解决你的问题,请参考以下文章

Quest Active Directory

Active Directory 和 Active Directory LDS 中的字段

使用Xamarin.iOS进行Azure Active Directory身份验证过程

powershell 使用powershell添加Active Directory组成员

在 Active Directory 中添加来自本地 Active Directory 的来宾用户

使用脚本安装Active Directory服务并创建Forest