ipa eta gailua
This commit is contained in:
parent
6968957159
commit
6094fc1156
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
31
app.py
31
app.py
|
@ -390,10 +390,16 @@ def login_user_ldap(conf, username, password):
|
|||
#with connect_ldap(conf) as c:
|
||||
with connect_ldap(conf, user=superUser.readonly_dn, password=superUser.readonly_pwd) as c:
|
||||
user_dn = find_user_dn(conf, c, username)
|
||||
|
||||
cur_dev = get_dev()
|
||||
known_device = find_device(conf, c, cur_dev)
|
||||
print('KNOWN DEVICE:',known_device)
|
||||
print(request.environ.get('HTTP_X_REAL_IP', request.remote_addr))
|
||||
# Note: raises LDAPUserNameIsMandatoryError when user_dn is None.
|
||||
with connect_ldap(conf, authentication=SIMPLE, user=user_dn, password=password) as c:
|
||||
c.bind()
|
||||
#IP helbidea sartu db-an
|
||||
ip = {'ip':request.environ.get('HTTP_X_REAL_IP', request.remote_addr)}
|
||||
c.add(attributes=ip)
|
||||
newSession().set(get_user_data(user_dn, c))
|
||||
LOG.debug("%s logged in to %s" % (username, conf['base']))
|
||||
|
||||
|
@ -510,7 +516,8 @@ def register(conf, username, firstname, surname, password, email, isFake, device
|
|||
directory = 'home/user/'+to_ascii(username)
|
||||
OBJECT_CLASS = ['top', 'inetOrgPerson', 'posixAccount', 'accountsManagement']
|
||||
attributes = {'gidNumber': '501', 'uidNumber': uidNumber, 'homeDirectory': directory, 'givenName':
|
||||
firstname, 'sn': surname, 'uid' : username, 'mail': email, 'active': False, 'fakeCn': isFake, 'device':device}
|
||||
firstname, 'sn': surname, 'uid' : username, 'mail': email, 'active': False, 'fakeCn': isFake,
|
||||
'devices':device}
|
||||
new_user_dn = "cn="+firstname+" "+surname+" - "+username+",cn=users,"+conf['base']
|
||||
c.add(dn=new_user_dn,object_class=OBJECT_CLASS, attributes=attributes)
|
||||
#create/change user password
|
||||
|
@ -760,6 +767,17 @@ def find_email(conf, conn, email):
|
|||
|
||||
return False
|
||||
|
||||
#find devices
|
||||
def find_device(conf, conn, device):
|
||||
search_filter = '(uid=*)'
|
||||
if conn.search(conf['base'], search_filter, attributes=['devices']):
|
||||
for i in conn.response:
|
||||
for j in i['attributes']['devices']:
|
||||
if(j == device):
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
#find highest uidNumber
|
||||
def find_uid_number(conf, conn):
|
||||
search_filter = '(uid=*)'
|
||||
|
@ -786,7 +804,7 @@ def get_user_email_array(user_dn, conn, old_email, new_email):
|
|||
|
||||
def get_user_data(user_dn, conn):
|
||||
search_filter = '(objectClass=*)'
|
||||
conn.search(user_dn, search_filter, attributes=['active','fakeCn','givenName','sn','uid','mail','device'])
|
||||
conn.search(user_dn, search_filter, attributes=['active','fakeCn','givenName','sn','uid','mail','devices'])
|
||||
data = []
|
||||
data.append(conn.entries[0].active.values[0])
|
||||
data.append(conn.entries[0].fakeCn.values[0])
|
||||
|
@ -794,7 +812,7 @@ def get_user_data(user_dn, conn):
|
|||
data.append(conn.entries[0].sn.values[0])
|
||||
data.append(conn.entries[0].uid.values[0])
|
||||
data.append(conn.entries[0].mail.values[0])
|
||||
data.append(conn.entries[0].device.values)
|
||||
data.append(conn.entries[0].devices.values)
|
||||
return(data)
|
||||
|
||||
def read_config():
|
||||
|
@ -825,7 +843,6 @@ def get_dev():
|
|||
user_agent = parse(ua_string)
|
||||
return str(user_agent)
|
||||
|
||||
|
||||
class Error(Exception):
|
||||
pass
|
||||
|
||||
|
@ -863,7 +880,7 @@ def newSession():
|
|||
self.surname = data[3]
|
||||
self.username = data[4]
|
||||
self.mail = data[5]
|
||||
self.device = data[6]
|
||||
self.devices = data[6]
|
||||
|
||||
self.data['active'] = self.active
|
||||
self.data['fakeCn'] = self.fakeCn
|
||||
|
@ -871,7 +888,7 @@ def newSession():
|
|||
self.data['surname'] = self.surname
|
||||
self.data['username'] = self.username
|
||||
self.data['mail'] = self.mail
|
||||
self.data['device'] = self.device
|
||||
self.data['devices'] = self.devices
|
||||
|
||||
def close(self):
|
||||
self.data.pop('username')
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue