summaryrefslogtreecommitdiffstats
path: root/ipsilon/login/authldap.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipsilon/login/authldap.py')
-rwxr-xr-xipsilon/login/authldap.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/ipsilon/login/authldap.py b/ipsilon/login/authldap.py
index 0d70479..a41d167 100755
--- a/ipsilon/login/authldap.py
+++ b/ipsilon/login/authldap.py
@@ -64,7 +64,15 @@ class LDAP(LoginFormBase, Log):
if username and password:
try:
- userattrs = self._authenticate(username, password)
+ userdata = self._authenticate(username, password)
+ if userdata:
+ userattrs = dict()
+ for d, v in userdata.get('userdata', {}).items():
+ userattrs[d] = v
+ if 'groups' in userdata:
+ userattrs['groups'] = userdata['groups']
+ if 'extras' in userdata:
+ userattrs['extras'] = userdata['extras']
authed = True
except Exception, e: # pylint: disable=broad-except
errmsg = "Authentication failed"