import ldap
class Ldap_co(object):
def __init__(self):
self.server = "ldap://yourserver.com"
self.port = "389"
self.baseDN = "ou=xxxxxxx,o=xxx.com"
try:
self.l = ldap.initialize(self.server+":"+self.port+"/")
# ldap.VERSION2 if you're using a v2 directory
#l.protocol_version = ldap.VERSION3
except ldap.LDAPError, e:
print e
def search_people(self,searchFilter = "cn=*sharkguto*"):
searchScope = ldap.SCOPE_SUBTREE
retrieveAttributes = None
try:
ldap_result_id = self.l.search(self.baseDN, searchScope, searchFilter, retrieveAttributes)
result_set = []
while 1:
result_type, result_data = self.l.result(ldap_result_id, 0)
if (result_data == []):
break
else:
if result_type == ldap.RES_SEARCH_ENTRY:
result_set.append(result_data)
except ldap.LDAPError, e:
print e
return result_set
def auth_user(self,user,password):
try:
user=user.strip()
password = password.strip()
dn=""
resp=""
results = self.search_people("email="+user + "*")
#print results
dn= results[0][0][1]
uid= results[0][0][0].split(',')[0]
uid=uid.split('=')[1]
c=dn['c'][0]
o=dn['o'][0]
dept=dn['dept'][0]
ou=dn['ou'][0]
cn=dn['cn'][0]
fullname=dn['callupName'][0]
dnfinal = "uid="+uid+",c="+c+",ou="+ou+",o="+o
#print dnfinal
resp = self.l.bind_s(dnfinal,password)
#print resp
#resp = self.l.whoami_s()
if resp[0] == 97:
return dict(logged=True,department=dept,email=user,uid=uid,fullname=fullname)
except ldap.INVALID_CREDENTIALS:
self.l.unbind()
print 'Wrong username ili password'
return False
except ldap.SERVER_DOWN:
print 'AD server not awailable'
return False
except ldap.LDAPError, e:
print e
return False
paypal plugin
quinta-feira, 10 de outubro de 2013
using python LDAP
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário