1

プロジェクトで Kerberos 認証を使用しようとしています。これは私の会社の内部サービスであり、ユーザーを認証し、Active Directory からユーザーのグループを取得したいと考えています。これには、Spring Security、Kerberos 拡張機能、および当社の AD を使用しています。

問題: Kerberos で認証できますが、AD のドメインは「WAN.CORP.COM」です。したがって、username@WAN.CORP.COM でユーザーを取得します。AD でこれを要求できるフィルターはありません (userPrincipalName は username@corp.com のようなものです)。

私のsecurity.xmlには次が含まれています:

<sec:ldap-user-service id="ldapUserService" server-ref="ldapCorp" user-search-filter="(userPrincipalName={0})" />
<sec:ldap-server id="ldapCorp" url="ldap://ldap.wan.corp.com:389/DC=wan,DC=corp,DC=com" manager-dn="CN=ldap read,OU=CORP,DC=wan,DC=corp,DC=com" manager-password="pass" />

しかし、Spring Security は user@WAN.CORP.COM を取得できないため、例外を送信します...

誰でも私を助けることができますか?Spring Security で直接作りたいのですが、そうでない場合は DummyUserDetailsS​​ervice で情報を取得できると思いますよね?

どうもありがとう、そして私の下手な英語でごめんなさい...

4

2 に答える 2

0

LdapUserDetailsS​​ervice を挿入する独自の UserDetailsS​​ervice 実装を提供できます。

loadUserByUsername メソッドでは、ユーザー名を変更してから、変更されたユーザー名で LdapUserDetailsS​​ervice の loadUserByUsername を呼び出すことができます。

于 2013-07-18T12:53:01.180 に答える
0

Spring security 3.1 には、すでに LDAP / AD 認証が実装されています。

ここを参照してください: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/ldap.html#d0e6795 http://javarevisited.blogspot.com/2011/11/ldap-authentication -active-directory.html

于 2013-06-07T11:18:56.803 に答える