이 기사는 Spring Boot 시리즈의 LDAP 연결 관련 작업에 관한 기사입니다. LDAP 추가, 삭제, 수정 및 검색 작업을 신속하게 구현하기 위해 ODM의 기본 사용 만 포함됩니다. Spring LDAP에 대한 자세한 정보는 번역 된 공식 문서를 참조하십시오.
이 기사의 목적 : Spring Boot를 사용하여 프로젝트를 구축하여 독자가 Spring LDAP를 사용하여 LDAP를 신속하게 구성하고 운영 할 수 있도록 도와줍니다. 일반 단계는 다음과 같습니다.
1. 스프링 부트 프로젝트 만들기 (약 1 분)
2. pom.xml 파일에서 스프링 LDAP 종속성 추가 (약 1 분)
3. 스프링 LDAP 연결 정보 구성 (약 1 분)
4. LDAP에서 엔티티 클래스 생성 (ORM과 유사한 ODM 매핑 함수)
5. ldaptemplate를 사용하여 서비스 계층 작성 방법 (약 3 분)
6. 컨트롤러 계층을 쓰십시오 (약 3 분)
1. 스프링 부트 프로젝트 만들기 (약 1 분)
파일 - 새 - 프로젝트 아이디어를 클릭하십시오
그림 1
위 그림과 같이 왼쪽에서 Spring Initializr을 선택하여 스프링 프로젝트를 초기화하는 데 도움이됩니다. SDK를 구성한 후 다음을 클릭하십시오.
그림 2
클릭 한 후 그림 2와 같이 데모 만하면 페이지를 기본적으로 수행 할 수 있습니다. 다음을 클릭하십시오.
그림 3
그림 3과 같이 웹을 선택하면 웹과 관련된 구성 요소가 오른쪽에 표시됩니다. 오른쪽에있는 웹을 선택하고 그 앞에서 상자를 확인합니다. 이는 웹 관련 Spring Boot 프로젝트에 웹 관련 종속성이 도입 될 것임을 의미합니다. 다음을 클릭하십시오.
그림 4
그림 4에서 볼 수 있듯이 여기에서 직접 이름을 지정하면 마무리를 클릭하십시오.
2. pom.xml 파일에서 스프링 LDAP 종속성 추가 (약 1 분)
그림 5
위의 그림 5에서 볼 수 있듯이 프로젝트에서 POM.XML을 두 번 클릭하여 종속성을 추가하십시오.
그림 6
도 6에 도시 된 바와 같이, 파일에는 스프링 부트 스타터 -WEB 종속성이로드되었습니다. Spring LDAP를 사용하여 LDAP 서버를 작동하려면 Spring-Boot-Starter-Data-Ldap을 추가해야합니다. 이 종속성은 스프링 -LDAP 코어 및 스프링 데이터 LDAP 종속성을 자동으로로드합니다. 그중에서도 Spring-Ldap-Core는 LDAP 작업의 핵심 종속성이며 Spring-Data-LDAP는 ODM 기능을 제공하여 작업을 단순화합니다. 다음 그림 7과 같이 프로젝트의 외부 라이브러리 에서이 두 가지 의존성을 볼 수 있습니다.
그림 7
3. 스프링 LDAP 연결 정보를 구성하십시오
그림 8
위의 그림 8에서 볼 수 있듯이 구성은 공식 Spring Boot 웹 사이트의 LDAP 구성에 대한 지침을 기반으로합니다. 여기에서 볼 수 있습니다. 이 구성 후 Spring Boot는 자동으로 구성을 읽습니다.
4. LDAP에서 엔티티 클래스를 입력 맵으로 만듭니다
이 예에서 ODM 기능은 LDAP의 작동을 크게 단순화하는 데 사용됩니다. ODM에 대한 자세한 내용은 번역 된 공식 문서를 참조하십시오.
프로젝트에서 다음 구조를 만듭니다.
그림 9
이제 우리는 항목 패키지로 서로를 맵핑하는 엔티티 클래스를 작성합니다. 그중에서도 내 LDAP 구조는 다음과 같습니다
그림 10
새로운 사람 수업을 만듭니다
package com.example.demo.entry; import com.fasterxml.jackson.annotation.jsonignore; import org.springframework.ldap.od.annotations.attribute; import org.springframework.ldap.Entry; import 또는 org.springframework.ldap.od.od.Antation org.springframework.ldap.support.ldapnamebuilder; import javax.naming.name;/** * @author : geng_pool * @description : * @date : 2017/12/27 10:24 * @Modified by : */ @Entry (ObjectSationalPerson = "", "", "", "", "", "", "", "", "", "{ongrantationalPerson" "o = myorg") 공공 계급 사람 {@id @jsonignore 개인 이름 dn; @attribute (name = "cn") 개인 문자열 cn; @attribute (name = "sn") 개인 문자열 sn; @attribute (name = "userPassword") private String userPassword; 공개 사람 (문자열 CN) {name dn = ldapnamebuilder.newinstance () .add ( "o", "myorg") .add ( "cn", cn) .build (); this.dn = dn; } public person () {} / * getter * / public name getdn () {return dn; } public String getCn () {return CN; } public String getsn () {return sn; } public String getUserPassword () {return userPassword; } / * setter * / public void setdn (name dn) {this.dn = dn; } public void setcn (문자열 cn) {this.cn = cn; if (this.dn == null) {name dn = ldapnamebuilder.newinstance () .add ( "o", "myorg") .add ( "cn", cn) .build (); this.dn = dn; }} public void setsn (문자열 sn) {this.sn = sn; } public void setUserPassword (String UserPassword) {this.userPassword = userPassword; } @override public String toString () {return "person {" + "dn =" + dn.toString () + ", cn = '' + cn + '/' ' +", sn =' " + sn + '/' ' +", userPassword =' ' + userPassword +'/''} '; }}@entry 및 @id가 필요합니다. @jsonignore는 사람을 프론트 엔드로 전달할 때 오류를보고하지 않아야합니다. 이름 유형을 JSON 형식으로 자동 구문 분석 할 수 없기 때문입니다. 편의상, 나는 공개 인물 (String CN) {} 생성자에 DN 가치 생성 방법을 작성하고 SETCN에 메소드를 썼습니다. 물론 코드 복제 문제가 있습니다.
5. ldaptemplate을 사용하여 서비스 계층을 작성하는 방법
서비스 패키지에서 새 ODMPersonRepo 클래스를 만듭니다
package com.example.demo.service; import com.example.demo.entry.person; import org.springframework.bean.beans.annotation.autowired; import org.sprameframework.ldap.core.ldaptemplate; import org.springframework.stereotype; services; org.springframework.ldap.query.ldapquerybuilder.query;/** * @author : geng_pool * @description : * @date : 2017/12/27 10:37 * @Modified by : */ @servicePublic OdmpersonRepo {@autowiption Private Platepl Ldaptemplate ltaptemplate ltaptemplated 공개 사람이 창조 (사람) {ldaptemplate.create (person); 귀환 담당자; } 공개 사람 findBycn (String Cn) {return ldaptemplate.findone (query (). where ( "cn"). is (cn), person.class); } 공공 사람 modifyperson (사람) {ldaptemplate.update (person); 귀환 담당자; } public void deleteperson (사람) {ldaptemplate.delete (person); }}보시다시피, 기본 추가, 삭제, 수정 및 검색 작업이 구현되었습니다. 우리는 단지 ldaptemplate에서 메소드를 호출하면됩니다. LDAP의 추가, 삭제, 수정 및 검색을보다 자유롭게 운영하려면 번역 된 공식 문서를 참조 할 수 있습니다.
6. 컨트롤러 계층을 쓰십시오
컨트롤러 패키지에서 LDAP의 작동을 테스트하기 위해 새로운 TestController 클래스를 작성하십시오.
package com.example.demo.controller; import com.example.demo.entry.person; import com.example.demo.service.odmpersonrepo; import org.spramework.beans.antoration.autowired; import org.springframework.ldap.core.ldaptemplate; org.springframework.web.bind.annotation. @requestmapping (value = "/findone", method = requestmethod.post) public person findbycn (@requestparam (name = "cn", required = true) string cn) {return odmpersonrepo.findbycn (cn); } @postmapping (value = "/create") 공개 사람 create (@requestparam (name = "cn") 문자열 cn,@requestparam (name = "sn") String sn,@requestParam (name = "userPassword") String UserPassworld) {person person = new person (); person.setcn (cn); person.setsn (sn); person.setuserpassword (userpassworld); return odmpersonrepo.create (사람); } @postmapping (value = "/update") 공개 사람 업데이트 (@requestparam (name = "cn") 문자열 cn,@requestparam (name = "sn") String sn,@requestParam (name = "userPassword") String userPassworld) {person person = new person (); person.setcn (cn); person.setsn (sn); person.setuserpassword (userpassworld); OdmpersonRepo.ModifyPerson (사람)을 반환합니다. } @postmapping (value = "/delete") public void delete (@requestparam (name = "cn") 문자열 cn) {person person = new person (); person.setcn (cn); odmpersonrepo.deleteperson (사람); }}이 시점에서 기본 데모가 완료되었습니다. 아래에서 테스트합시다
시험
모든 사람이 단계를 따르려면 Postman을 사용하여 테스트하지 않지만 브라우저에서 인터페이스를 테스트합니다. ,,,
스프링 부츠를 시작하십시오. 오류가 없으면 Browser를 localhost:8080/ 로 열고 F12를 누르고 개발자 모드를 팝업하십시오. 테스트 명세서를 보내도록 촉진하려면 콘솔 콘솔을 찾으십시오.
먼저 jquery.js를 소개하십시오. jquery.js를 열고 모든 것을 선택하십시오 - 복사 - 콘솔에서 붙여 넣기 - 아래 그림과 같이 입력하십시오.
그림 11
진실로 표시되면 하중이 성공적이라는 의미입니다. jQuery의 Ajax를 사용하여 테스트 할 수 있습니다.
추가 데이터
그림 12
컨트롤러 계층의 TestController에서 요구하는대로 주소/작성의 게시물 메소드를 사용하여 데이터 CN SN SN USERPASSWORD를 전달합니다.
그림 13
LDAP 서버에서 추가 된 데이터도 표시됩니다.
그림 14
데이터 찾기
그림 15
데이터는 CN을 기반으로 올바르게 찾을 수 있습니다.
데이터 수정
그림 16
LDAP가 수정되었는지 확인해 봅시다
그림 17
데이터를 정상적으로 수정할 수 있음을 알 수 있습니다.
데이터 삭제
그림 18
LDAP에서 삭제할지 여부를 확인하십시오
그림 19
보시다시피, 데이터가 올바르게 삭제되었습니다.
다른 지침
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.