1

내 프로젝트에서 Kerberos 인증을 사용하려고합니다. 내 회사의 내부 서비스이기 때문에 사용자를 인증하고 Active Directory에서 사용자 그룹을 검색하려고합니다. 이를 위해 스프링 보안, Kerberos 확장 및 회사 AD를 사용하고 있습니다.스프링 보안, Kerberos 확장 및 AD

문제 : Kerberos를 사용하여 인증 할 수 있지만 AD의 도메인은 "WAN.CORP.COM"입니다. 그래서 나는 [email protected]으로 나의 사용자를 얻었고, AD (userPrincipalName은 [email protected]과 같다)에서 이것으로 물어볼 수있는 필터가 없다.

내 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" /> 

그러나 봄 보안 예외를 전송, 그것은 [email protected] ...를 검색 할 수 없습니다

누구든지 나를 도울 수 있기 때문에? Spring Security에서 직접 작성하고 싶습니다. 그렇지 않다면 DummyUserDetailsService에서 정보를 얻을 수 있다고 생각합니다. 맞습니까?

고마워, 그리고 불쌍한 내 영어 죄송합니다 ...

답변

0

당신은 LdapUserDetailsService을 주입되는 자신의 UserDetailsService의 구현을 제공 할 수있다.

loadUserByUsername 메서드에서 사용자 이름을 수정 한 다음 수정 된 사용자 이름으로 LdapUserDetailsService의 loadUserByUsername을 호출 할 수 있습니다.