사용자 도구

사이트 도구


python:ldap

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
python:ldap [2013/08/29 00:52]
kwon37xi 새로 만듦
python:ldap [2013/08/29 15:31] (현재)
kwon37xi [검색]
줄 1: 줄 1:
 ====== python-ldap ====== ====== python-ldap ======
   * [[https://pypi.python.org/pypi/python-ldap/|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]]
  
-===== Ubuntu VirtualEnv에 설치시 ===== +===== Linux에 설치시 ===== 
-  * Ubuntu VirtualEnv에 설치시에 의존 라이브러리가 없어서 오류가 발생할 수 있다. +  * Linux에 설치시에 의존 라이브러리가 없어서 오류가 발생할 수 있다. 
-  * [[http://blog.mattwoodward.com/2012/10/installing-python-ldap-in-virtualenv-on.html|Installing python-ldap in virtualenv on Ubuntu]] +  * [[http://stackoverflow.com/questions/4768446/python-cant-install-python-ldap|module - Python: can't install python-ldap]] 
-  * 아래 패키지를 미리 설치해둬야 한다.<code sh>+  * Ubuntu에서 미리 설치할 패키지<code sh>
 sudo apt-get install python-dev libldap2-dev libssl-dev libsasl2-dev sudo apt-get install python-dev libldap2-dev libssl-dev libsasl2-dev
 </code> </code>
 +  * CentOS에서 미리 설치할 패키지<code sh>
 +sudo yum install openldap-devel
 +# 자동으로 cyrus-sasl-devel 설치됨.
 +</code>
 +
 +===== LDAP 접속 인증 =====
 +<code python>
 +import ldap
 +l = ldap.initialize('ldap://ldapaddress:port')
 +l.set_option(ldap.OPT_REFERRALS, 0)
 +l.simple_bind_s('계정명속성이름=계정명','비밀번호') # who 부분은 바뀔 수 있음.
 +</code>
 +
 +===== 값비교 및 계정 비밀번호 일치 여부 판단 =====
 +<code python>
 +# 기본적인 비교
 +l.compare_s('uid=사용자ID,ou=user,dc=example,dc=com', '비교할속성이름', '기대값')
 +# 결과가 1이면 일치, 0이면 불일치
 +
 +l.compare_s('uid=사용자ID,ou=user,dc=example,dc=com', '비밀번호속성이름', '사용자가입력한비밀번호')
 +</code>
 +
 +===== 검색 =====
 +<code python>
 +l.search_s('ou=user,dc=example,dc=com', ldap.SCOPE_SUBTREE, '(검색대상속성이름=검색어)',
 +    ['결과속성1', '결과속성2' ..])
 +
 +# 결과는 튜플의 배열이다.
 +</code>
 +  * 검색 Scope
 +    * ''ldap.SCOPE_BASE''
 +    * ''ldap.SCOPE_ONELEVEL''
 +    * ''ldap.SCOPE_SUBTREE''
python/ldap.1377705130.txt.gz · 마지막으로 수정됨: 2013/08/29 00:52 저자 kwon37xi