-#!/usr/bin/python
-#
# Copyright (C) 2014 Ipsilon Contributors, see COPYING for license
-from ipsilon.login.common import LoginFormBase, LoginManagerBase
+from ipsilon.login.common import LoginFormBase, LoginManagerBase, \
+ LoginManagerInstaller
from ipsilon.util.plugin import PluginObject
from ipsilon.util.log import Log
from ipsilon.util import config as pconfig
if username and password:
try:
- 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']
+ userattrs = self._authenticate(username, password)
authed = True
except Exception, e: # pylint: disable=broad-except
errmsg = "Authentication failed"
error_password=not password,
error_username=not username
)
+ self.lm.set_auth_error()
# pylint: disable=star-args
return self._template('login/form.html', **context)
return self.page
-class Installer(object):
+class Installer(LoginManagerInstaller):
def __init__(self, *pargs):
+ super(Installer, self).__init__()
self.name = 'ldap'
- self.ptype = 'login'
self.pargs = pargs
def install_args(self, group):
group.add_argument('--ldap', choices=['yes', 'no'], default='no',
- help='Configure PAM authentication')
+ help='Configure LDAP authentication')
group.add_argument('--ldap-server-url', action='store',
help='LDAP Server Url')
group.add_argument('--ldap-bind-dn-template', action='store',