Giter Club home page Giter Club logo

spring-ldap's Introduction

spring-ldap

  • 프로젝트 소개
  *. LDAP(Lightweight Directory Access Protocol) 을 다루는 API를 제어하여, MS-ActiveDirectory 플랫폼 상의 Entity를 관리하기 위한 프로젝트.

  *. OOP 사상을 반영한 클래스 구조 설계.

  *. 테스트 가능한 junit 클래스 구현.

  *. 제어 가능한 Entity : 사용자(CN), 조직(OU), 컴퓨터 (COMPUTER), 정책(POLICY)

  • 개발 환경
  *. JDK : 1.8.0_144
	
  *. spring-boot : 2.0.0.RELEASE
	
  *. MS-ActiveDirectory : Windows Server 2012 R2

  • 클래스 구조

  • 주요 클래스 설명
    *. LdapConnectionProvider : ldap connection object(=LdapTemplate) 생성 기능을 수행하는 추상화 클래스
	
    *. LdapManager<T> : Generic<T> 타입에 따라 entity의 CRUD 기능을 수행하는 추상화 클래스

  • 시퀀스

    *. 조직(OU) 생성

    *. 사용자(CN) 삭제

    *. 컴퓨터 (COMPUTER) 조회


  • 샘플 예제 (조직 생성)
private LdapOu createOuSample(String ouName) {
	
	/*
	 * provider type = ["propertyBase", "dbBase", "paramBase"]
	 */
	LdapConnectionProvider connectionProvider = ldapConnectionProviderFactory.createConnectionProvider("propertyBase");
	
	/*
	 * manager type = ["ou", "user", "computer", "policy"]
	 */
	LdapManager<LdapOu> manager = (LdapManager<LdapOu>) ldapManagerFactory.createLdapManager("ou");
	
	LdapOu newOuInfo = new LdapOu();
	newOuInfo.setDn(LdapNameBuilder.newInstance().add("OU", ouName).build());
	newOuInfo.setGplink(null);
	newOuInfo.setName(ouName);
	newOuInfo.setOuDesc("This is OU Description");
	
	manager.connect(connectionProvider).create(newOuInfo);
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.