====== python-ldap ====== * [[https://pypi.python.org/pypi/python-ldap/|python-ldap]] * ''pip install python-ldap'' * [[http://www.python-ldap.org/docs.shtml|Python ldap documentation]] ===== Linux에 설치시 ===== * Linux에 설치시에 의존 라이브러리가 없어서 오류가 발생할 수 있다. * [[http://stackoverflow.com/questions/4768446/python-cant-install-python-ldap|module - Python: can't install python-ldap]] * Ubuntu에서 미리 설치할 패키지 sudo apt-get install python-dev libldap2-dev libssl-dev libsasl2-dev * CentOS에서 미리 설치할 패키지 sudo yum install openldap-devel # 자동으로 cyrus-sasl-devel 설치됨. ===== LDAP 접속 인증 ===== import ldap l = ldap.initialize('ldap://ldapaddress:port') l.set_option(ldap.OPT_REFERRALS, 0) l.simple_bind_s('계정명속성이름=계정명','비밀번호') # who 부분은 바뀔 수 있음. ===== 값비교 및 계정 비밀번호 일치 여부 판단 ===== # 기본적인 비교 l.compare_s('uid=사용자ID,ou=user,dc=example,dc=com', '비교할속성이름', '기대값') # 결과가 1이면 일치, 0이면 불일치 l.compare_s('uid=사용자ID,ou=user,dc=example,dc=com', '비밀번호속성이름', '사용자가입력한비밀번호') ===== 검색 ===== l.search_s('ou=user,dc=example,dc=com', ldap.SCOPE_SUBTREE, '(검색대상속성이름=검색어)', ['결과속성1', '결과속성2' ..]) # 결과는 튜플의 배열이다. * 검색 Scope * ''ldap.SCOPE_BASE'' * ''ldap.SCOPE_ONELEVEL'' * ''ldap.SCOPE_SUBTREE''