【发布时间】:2011-02-02 16:44:18
【问题描述】:
我有一个设置为使用默认 ldap 服务器/身份验证管理器/身份验证提供程序/用户服务的 Web 应用程序。我有另一个 DAO,它已经使用 Spring-LDAP 完成了大部分工作(除了验证用户)。我的问题是我希望主体属于我自己的自定义 bean 类。最简单的方法是什么?
最初我想创建一个自定义身份验证提供程序,但由于默认提供程序完全符合我的要求,因此似乎没有必要。我在想我只需要覆盖实际返回 Principal bean 的任何对象。这是否可能,并且能够注入到安全 ldap 身份验证器上下文中?
这是我目前的设置方式:
<ldap-server
url="ldap://HOST:3268/BASEDN"
manager-dn="FULLDN"
manager-password="PASS"/>
<authentication-manager>
<ldap-authentication-provider user-search-filter="(samaccountname={0})"/>
<authentication-provider>
<ldap-user-service user-search-filter="(samaccountname={0})"/>
</authentication-provider>
</authentication-manager>
“ldap-user-service”是否将 Principal bean 链接到 SecurityContext 的 Authentication 对象?
问题是现在我有一个用于 DAO 的第二个 LDAP 配置(几乎与身份验证配置相同),当用户转到一个页面时,我只需重新查找他们的用户帐户,然后取回用户对象(如果它是 SecurityContext 主体,那就太好了)...
【问题讨论】:
标签: ldap spring-security