모든 Active Directory 그룹을 얻는 방법 (현재 사용자뿐만 아니라)? 스프링 보안 ldap을 사용하고 있습니다. 몇 가지 예를 제공해 주시겠습니까?봄 보안에서 모든 LDAP 그룹을 얻는 방법
1
A
답변
-1
이 클래스의 기본 :
은 도움이 될 수
+0
예, 특정 사용자에 대한 그룹을 얻는 방법을 보여줍니다. 문제는 모든 기존 LDAP 그룹을 포함하는 목록을 얻는 방법을 찾지 못했기 때문입니다. –
1
당신이 할 수있는 것은 DefaultLdapAuthoritiesPopulator
일치 LdapAuthoritiesPopulator
의 구현을 작성하다 모든 역할을 검색하는 추가 메소드로 구현.
public class ExtendedLdapAuthoritiesPopulator
implements LdapAuthoritiesPopulator {
// Copy implementation of DefaultLdapAuthoritiesPopulator (omitted).
private String allAuthorityFilter
= "(&(objectClass=group)(objectCategory=group))";
public void setAllAuthorityFilter(String allAuthorityFilter) {
Assert.notNull(allAuthorityFilter,
"allAuthorityFilter must not be null");
this.allAuthorityFilter = allAuthorityFilter;
}
public final Collection<GrantedAuthority> getAllAuthorities() {
if (groupSearchBase == null) {
return new HashSet<>();
}
Set<GrantedAuthority> authorities = new HashSet<>();
if (logger.isDebugEnabled()) {
logger.debug("Searching for all roles with filter '"
+ allAuthorityFilter + "' in search base '"
+ groupSearchBase + "'");
}
Set<String> roles = ldapTemplate.searchForSingleAttributeValues(
groupSearchBase,
allAuthorityFilter,
new String[0],
groupRoleAttribute);
if (logger.isDebugEnabled()) {
logger.debug("Roles from search: " + roles);
}
for (String role : roles) {
if (convertToUpperCase) {
role = role.toUpperCase();
}
authorities.add(new SimpleGrantedAuthority(rolePrefix + role));
}
return authorities;
}
}
스프링 보안 구성에서 DefaultLdapAuthoritiesPopulator
을 새 구현으로 변경하십시오.
추가 속성은 어떤 그룹이 반환 될지를 필터링하는 AllAuthorityFilter
을 설정할 수 있습니다.
GrantedAuthority
인스턴스 대신 String
기반 역할 이름 만 검색하면 구현을 선호 할 수 있습니다.
관련 문제
- 1. Java에서 중첩 그룹을 포함한 사용자의 모든 Ldap 그룹을 얻는 방법
- 2. 봄 보안에서 로그 아웃하는 방법
- 3. 봄 보안에서 InMemoryDaoImpl 사용
- 4. 특정 사용자의 모든 LDAP 그룹을 얻는 방법은 무엇입니까?
- 5. 사용자가 Active Directory의 구성원 인 모든 그룹을 얻는 방법 (LDAP 디렉토리에 연결) (LDAP 디렉토리에 연결)
- 6. dotnetnuke에서 모든 역할 그룹을 얻는 방법
- 7. 봄 LDAP : 생성 연결
- 8. LDAP 그룹을 Wiki와 동기화
- 9. 봄 LDAP : InvalidNameException :/: [LDAP : 오류 코드 (34)
- 10. 봄 보안에서 일반 텍스트 암호를 얻으려면 어떻게해야합니까?
- 11. 봄 보안에서 컨트롤러를 제외하는 방법은 무엇입니까?
- 12. Asp.Net에서 사용자를위한 AD 사용자 그룹을 얻는 방법?
- 13. groupOfUniqueNames를 사용하여 그룹을 정의 할 때 사용자가 속한 모든 LDAP 그룹을 찾는 방법
- 14. 봄 보안 및 LDAP 인증
- 15. 봄 LDAP 인증합니다 방법은 java.lang.NoSuchMethodError
- 16. 연락처가 속한 그룹을 얻는 방법?
- 17. magento에서 속성 그룹을 얻는 방법
- 18. SPFolder의 관련 그룹을 얻는 방법?
- 19. 봄 모양의 줄을 얻는 방법
- 20. 사람에게 속한 그룹을 얻는 방법 ABAddressBook
- 21. Spring 보안에서 LDAP 인증 및 데이터베이스 인증을 수행하는 방법은 무엇입니까?
- 22. Spring 보안에서 데이터베이스 및 LDAP 인증을 사용하는 방법은 무엇입니까?
- 23. 봄, 내 콩의 모든 속성을 읽는 방법
- 24. 연락처 ID 및 그룹을 얻는 방법
- 25. 봄 - 모든 빈이 처리됩니까?
- 26. 요청 작성자를 사용하여 사용자 인증 : 봄 보안에서 작동하지 않습니다.
- 27. MAPI를 사용하여 Outlook 연락처 그룹을 얻는 방법?
- 28. Moss에서 현재 사용자 그룹을 얻는 방법?
- 29. Zend_Ldap을 사용하여 모든 사용자 그룹을 쿼리하십시오.
- 30. 모든 파일을 얻는 방법
[무엇을 시도해 봤습니까?] (http://whathaveyoutried.com) –
사람들이 예제와 질문을 제공 한 다른 스레드를 살펴 보았습니까? 예를 들어 http://stackoverflow.com/questions/7417177/spring-security-authentication-using-ldap – CodeDreamer