spring ldap 예제

첫 번째 사용 사례는 LdifReader를 사용하여 수행됩니다. 이 클래스는 스프링 배치의 초상 항목 계산항목SteamItemReader를 확장하고 리소스웨어항목리더스트림을 구현합니다. 프레임워크에 자연스럽게 맞으며 파일에서 LdapAttributes 개체를 읽는 데 사용할 수 있습니다. 이제 스프링 LDAP의 구성을 단순화하기 위해 사용자 지정 XML 네임스페이스가 제공됩니다. 자세한 내용은 구성을 참조하십시오. LdapTemplate는 태그를 사용하여 정의됩니다. 가장 간단한 ldap-template 선언은 간단한 태그: 스프링-ldap-테스트 는 아파치DS 또는 언바운드 ID를 기반으로 임베디드 ldap 서버를 가지고. 불행히도 나는 그렇게 할 필요가 없었기 때문에 구체적인 조언을 줄 수 없습니다. 내 제안은 LDAP 서버가 실행중인 호스트 / 포트를 정확히 파악한 다음 Spring LDAP bean을 설정할 때 해당 정보를 사용하는 것입니다. 하지만, 다시 – 이것은 일반적인 조언, 그리고 거기 매우 구체적인 문제에 실행할 수 있습니다.– 그래서 내가 그들의 메일링 목록에 물어 제안, 또는 아마도 StackOverflow에. 모든 것을 설정하는 행운의 베스트.

환호, 오이겐. 다음 예제에서는 몇 가지 다른 사용 사례를 보여 줍니다. 먼저 빌더 API를 사용하여 고급 LDAP 쿼리를 빌드합니다. 둘째, 하드 코딩 된 필터를 사용 하 여 고급 쿼리를 빌드 하는. 마지막으로 조건부 필터를 사용하여 고급 ldap 쿼리를 빌드합니다. 각 메서드는 이름에서 알 수 있듯이 동일한 사용자 지정 특성 MapsMapper를 사용하여 특성을 매핑하여 Person 개체에 특성을 매핑합니다. Spring LDAP를 구성하는 데 권장되는 방법은 사용자 지정 XML 구성 네임스페이스를 사용하는 것입니다. 이를 사용하려면 BEAPv3 프로토콜이 컨트롤을 사용하여 미리 정의된 작업의 동작에 영향을 주는 추가 데이터를 보내고 받는 등 Bean 파일에 Spring LDAP 네임스페이스 선언을 포함해야 합니다. 요청 컨트롤 DirContextProcessor의 구현을 단순화하기 위해 스프링 LDAP는 기본 클래스 AbstractRequestControlDirContextProcessor를 제공합니다. 이 클래스는 LdapContext에서 현재 요청 컨트롤의 검색을 처리 하 고 요청 컨트롤을 만들기 위한 템플릿 메서드를 호출 하 고 LdapContext에 추가 합니다. 하위 클래스에서 수행해야 하는 것은 템플릿 메서드 createRequestControl을 구현하는 것뿐이며, 검색 후 수행해야 하는 모든 작업을 수행하기 위한 postProcess 메서드를 구현하기만 하면 됩니다. 스프링 프레임워크의 핵심 구성 요소인 Spring JDBC는 SQL 프로그래밍을 단순화하기 위한 우수한 유틸리티를 제공합니다.

Java LDAP 프로그래밍에 대해도 비슷한 프레임워크가 필요합니다. 위의 예제에서는 LDAP 필터에서 단순 등가 조건을 보여 줍니다. LDAP 쿼리 빌더에는 javax.naming.namingException 가져오기 라는 기준 형식에 대 한 지원이 있습니다. 가져오기 javax.naming.directory.Attribute; 가져오기 javax.naming.directory.Attributes; 가져오기 org.springframework.ldap.Attributes매퍼; 공용 클래스 ContactAttributeMapper 는 특성마퍼{공용 개체 맵From속성(특성 속성)을 구현합니다. 특성 메일 = attributes.get(“메일”); 특성 수액 = attributes.get(“employeeNumber”); if (메일 != null) contactDTO.setMail((문자열)mail.get()); if(sap != null) contactDTO.setSap((문자열)sap.get()); 연락처DTO; } } Fluent LDAP 쿼리 빌드 지원이 추가되었습니다. 따라서 Spring LDAP에서 LDAP 검색을 사용할 때 보다 쾌적한 프로그래밍 환경을 제공합니다. LDAP 쿼리 빌더 지원에 대한 자세한 내용은 LDAP 쿼리 및 고급 LDAP 쿼리 빌드를 참조하십시오. 이러한 이유로, 스프링 LDAP는 임의의 스프링 제어 콩이 시동 시 기본 경로를 공급할 수 있는 메커니즘을 가지고 있다. 빈이 기본 경로에 대해 알림을 받는 경우 두 가지 사항이 있어야 합니다. 둘째, BaseLdapPathBeanPostProcessor 는 응용 프로그램 컨텍스트에서 정의되어야 합니다: setMember, addMember 및 removeMember를 사용하여 그룹 구성원을 수정한 다음 ldapTemplate.update()를 호출하는 특성 수정사항을 사용하여 계산됩니다. 구별된 이름 같음, 즉 고유 이름의 텍스트 서식이 같는지 여부를 알아낼 때 무시됩니다.