mirror of
https://github.com/dkmstr/openuds.git
synced 2024-12-22 13:34:04 +03:00
Fix mistake on merge Ldap authenticator fix on 1.5 :-)
This commit is contained in:
parent
d3c6312ed5
commit
14b24db532
@ -216,9 +216,7 @@ encoding//src/uds/services/Xen/xen_client/__init__.py=utf-8
|
||||
encoding//src/uds/services/__init__.py=utf-8
|
||||
encoding//src/uds/templatetags/REST.py=utf-8
|
||||
encoding//src/uds/templatetags/html5.py=utf-8
|
||||
encoding//src/uds/tests/__init__.py=utf-8
|
||||
encoding//src/uds/tests/core/util/cache.py=utf-8
|
||||
encoding//src/uds/tests/core/util/net.py=utf-8
|
||||
encoding//src/uds/tests/core/util/storage.py=utf-8
|
||||
encoding//src/uds/tests/enterprise/__init__.py=utf-8
|
||||
encoding//src/uds/tests/enterprise/serials/__init__.py=utf-8
|
||||
|
@ -43,7 +43,7 @@ from uds.core.auths.Exceptions import AuthenticatorException
|
||||
import ldap
|
||||
import logging
|
||||
|
||||
__updated__ = '2014-06-02'
|
||||
__updated__ = '2014-09-11'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -145,9 +145,6 @@ class SimpleLDAPAuthenticator(Authenticator):
|
||||
l = None
|
||||
cache = False
|
||||
try:
|
||||
if password is not None:
|
||||
password = password.encode('utf-8')
|
||||
|
||||
# ldap.set_option(ldap.OPT_DEBUG_LEVEL, 9)
|
||||
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
|
||||
schema = self._ssl and 'ldaps' or 'ldap'
|
||||
@ -182,11 +179,10 @@ class SimpleLDAPAuthenticator(Authenticator):
|
||||
try:
|
||||
con = self.__connection()
|
||||
filter_ = '(&(objectClass=%s)(%s=%s))' % (self._userClass, self._userIdAttr, username)
|
||||
attrlist = [x.encode('utf-8') for x in self._userNameAttr.split(',')] + [self._userIdAttr.encode('utf-8')]
|
||||
attrlist = [i.encode('utf-8') for i in self._userNameAttr.split(',') + [self._userIdAttr]]
|
||||
logger.debug('Getuser filter_: {0}, attr list: {1}'.format(filter_, attrlist))
|
||||
res = con.search_ext_s(base=self._ldapBase, scope=ldap.SCOPE_SUBTREE,
|
||||
filterstr=filter_, attrlist=attrlist, sizelimit=LDAP_RESULT_LIMIT)[0]
|
||||
logger.debug('res: {0}'.format(res[1]))
|
||||
usr = dict((k, '') for k in attrlist)
|
||||
usr.update(res[1])
|
||||
usr.update({'dn': res[0], '_id': username})
|
||||
@ -204,7 +200,6 @@ class SimpleLDAPAuthenticator(Authenticator):
|
||||
logger.debug('Getgroup filter_: {0}, attr list {1}'.format(filter_, attrlist))
|
||||
res = con.search_ext_s(base=self._ldapBase, scope=ldap.SCOPE_SUBTREE,
|
||||
filterstr=filter_, attrlist=attrlist, sizelimit=LDAP_RESULT_LIMIT)[0]
|
||||
logger.debug('res: {0}'.format(res[1]))
|
||||
grp = dict((k, ['']) for k in attrlist)
|
||||
grp.update(res[1])
|
||||
grp.update({'dn': res[0], '_id': groupName})
|
||||
@ -219,7 +214,7 @@ class SimpleLDAPAuthenticator(Authenticator):
|
||||
con = self.__connection()
|
||||
filter_ = '(&(objectClass=%s)(|(%s=%s)(%s=%s)))' % (self._groupClass, self._memberAttr, usr['_id'], self._memberAttr, usr['dn'])
|
||||
logger.debug('Filter: {0}'.format(filter_))
|
||||
res = con.search_ext_s(base=self._ldapBase, scope=ldap.SCOPE_SUBTREE, filterstr=filter_, attrlist=[self._groupIdAttr.encode('utf-8')],
|
||||
res = con.search_ext_s(base=self._ldapBase, scope=ldap.SCOPE_SUBTREE, filterstr=filter_, attrlist=[self._groupIdAttr],
|
||||
sizelimit=LDAP_RESULT_LIMIT)
|
||||
groups = {}
|
||||
for g in res:
|
||||
@ -239,7 +234,7 @@ class SimpleLDAPAuthenticator(Authenticator):
|
||||
Tries to extract the real name for this user. Will return all atttributes (joint)
|
||||
specified in _userNameAttr (comma separated).
|
||||
'''
|
||||
return ' '.join([(type(usr.get(id_, '')) is list and ' '.join((k.decode('utf-8') for k in usr.get(id_, ''))) or usr.get(id_, '')) for id_ in self._userNameAttr.split(',')]).strip()
|
||||
return ' '.join([(type(usr.get(id_, '')) is list and ' '.join((str(k) for k in usr.get(id_, ''))) or str(usr.get(id_, ''))) for id_ in self._userNameAttr.split(',')]).strip()
|
||||
|
||||
def authenticate(self, username, credentials, groupsManager):
|
||||
'''
|
||||
@ -417,7 +412,7 @@ class SimpleLDAPAuthenticator(Authenticator):
|
||||
|
||||
# And group part, with membership
|
||||
try:
|
||||
res = con.search_ext_s(base=self._ldapBase, scope=ldap.SCOPE_SUBTREE, filterstr='(&(objectClass=%s)(%s=*))' % (self._groupClass, self._groupIdAttr), attrlist=[self._memberAttr])
|
||||
res = con.search_ext_s(base=self._ldapBase, scope=ldap.SCOPE_SUBTREE, filterstr='(&(objectClass=%s)(%s=*))' % (self._groupClass, self._groupIdAttr), attrlist=[self._memberAttr.encode('utf-8')])
|
||||
if len(res) == 0:
|
||||
raise Exception(_('Ldap group class or group id attr is probably wrong (can\'t find any group with both conditions)'))
|
||||
ok = False
|
||||
|
Loading…
Reference in New Issue
Block a user