mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2025-01-07 19:05:39 +00:00
Add more options to ldap
This commit is contained in:
parent
dfaa14e2e4
commit
437a9fe1b6
@ -20,6 +20,8 @@ if 'LDAP_TYPE' in app.config.keys():
|
|||||||
LDAP_PASSWORD = app.config['LDAP_PASSWORD']
|
LDAP_PASSWORD = app.config['LDAP_PASSWORD']
|
||||||
LDAP_SEARCH_BASE = app.config['LDAP_SEARCH_BASE']
|
LDAP_SEARCH_BASE = app.config['LDAP_SEARCH_BASE']
|
||||||
LDAP_TYPE = app.config['LDAP_TYPE']
|
LDAP_TYPE = app.config['LDAP_TYPE']
|
||||||
|
LDAP_FILTER = app.config['LDAP_FILTER']
|
||||||
|
LDAP_USERNAMEFIELD = app.config['LDAP_USERNAMEFIELD']
|
||||||
else:
|
else:
|
||||||
LDAP_TYPE = False
|
LDAP_TYPE = False
|
||||||
|
|
||||||
@ -155,7 +157,8 @@ class User(db.Model):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
if LDAP_TYPE == 'ldap':
|
if LDAP_TYPE == 'ldap':
|
||||||
searchFilter = "cn=%s" % self.username
|
searchFilter = "(&(%s=%s)%s)" % (LDAP_USERNAMEFIELD, self.username, LDAP_FILTER)
|
||||||
|
logging.info('Ldap searchFilter "%s"' % searchFilter)
|
||||||
else:
|
else:
|
||||||
searchFilter = "(&(objectcategory=person)(samaccountname=%s))" % self.username
|
searchFilter = "(&(objectcategory=person)(samaccountname=%s))" % self.username
|
||||||
try:
|
try:
|
||||||
@ -188,6 +191,7 @@ class User(db.Model):
|
|||||||
# this might be changed in the future
|
# this might be changed in the future
|
||||||
self.firstname = result[0][0][1]['givenName'][0]
|
self.firstname = result[0][0][1]['givenName'][0]
|
||||||
self.lastname = result[0][0][1]['sn'][0]
|
self.lastname = result[0][0][1]['sn'][0]
|
||||||
|
self.email = result[0][0][1]['mail'][0]
|
||||||
except:
|
except:
|
||||||
self.firstname = self.username
|
self.firstname = self.username
|
||||||
self.lastname = ''
|
self.lastname = ''
|
||||||
@ -214,7 +218,7 @@ class User(db.Model):
|
|||||||
We will create a local user (in DB) in order to manage user
|
We will create a local user (in DB) in order to manage user
|
||||||
profile such as name, roles,...
|
profile such as name, roles,...
|
||||||
"""
|
"""
|
||||||
user = User(username=self.username, firstname=self.firstname, lastname=self.lastname, role_id=self.role_id)
|
user = User(username=self.username, firstname=self.firstname, lastname=self.lastname, role_id=self.role_id, email=self.email)
|
||||||
db.session.add(user)
|
db.session.add(user)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
# assgine user_id to current_user after create in the DB
|
# assgine user_id to current_user after create in the DB
|
||||||
|
@ -66,7 +66,7 @@ def login():
|
|||||||
|
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
LDAP_ENABLED = True if 'LDAP_TYPE' in app.config.keys() else False
|
LDAP_ENABLED = True if 'LDAP_TYPE' in app.config.keys() else False
|
||||||
LOGIN_TITLE = app.config['LOGIN_TITLE']
|
LOGIN_TITLE = app.config['LOGIN_TITLE'] if 'LOGIN_TITLE' in app.config.keys() else ''
|
||||||
BASIC_ENABLED = app.config['BASIC_ENABLED']
|
BASIC_ENABLED = app.config['BASIC_ENABLED']
|
||||||
SIGNUP_ENABLED = app.config['SIGNUP_ENABLED']
|
SIGNUP_ENABLED = app.config['SIGNUP_ENABLED']
|
||||||
return render_template('login.html', ldap_enabled=LDAP_ENABLED, login_title=LOGIN_TITLE, basic_enabled=BASIC_ENABLED, signup_enabled=SIGNUP_ENABLED)
|
return render_template('login.html', ldap_enabled=LDAP_ENABLED, login_title=LOGIN_TITLE, basic_enabled=BASIC_ENABLED, signup_enabled=SIGNUP_ENABLED)
|
||||||
|
@ -6,6 +6,7 @@ WTF_CSRF_ENABLED = True
|
|||||||
SECRET_KEY = 'We are the world'
|
SECRET_KEY = 'We are the world'
|
||||||
BIND_ADDRESS = '127.0.0.1'
|
BIND_ADDRESS = '127.0.0.1'
|
||||||
PORT = 9393
|
PORT = 9393
|
||||||
|
LOGIN_TITLE = "PDNS"
|
||||||
|
|
||||||
# TIMEOUT - for large zones
|
# TIMEOUT - for large zones
|
||||||
TIMEOUT = 10
|
TIMEOUT = 10
|
||||||
@ -28,6 +29,9 @@ LDAP_URI = 'ldaps://your-ldap-server:636'
|
|||||||
LDAP_USERNAME = 'cn=dnsuser,ou=users,ou=services,dc=duykhanh,dc=me'
|
LDAP_USERNAME = 'cn=dnsuser,ou=users,ou=services,dc=duykhanh,dc=me'
|
||||||
LDAP_PASSWORD = 'dnsuser'
|
LDAP_PASSWORD = 'dnsuser'
|
||||||
LDAP_SEARCH_BASE = 'ou=System Admins,ou=People,dc=duykhanh,dc=me'
|
LDAP_SEARCH_BASE = 'ou=System Admins,ou=People,dc=duykhanh,dc=me'
|
||||||
|
# Additional options only if LDAP_TYPE=ldap
|
||||||
|
LDAP_USERNAMEFIELD = 'uid'
|
||||||
|
LDAP_FILTER = '(objectClass=inetorgperson)'
|
||||||
|
|
||||||
#Default Auth
|
#Default Auth
|
||||||
BASIC_ENABLED = True
|
BASIC_ENABLED = True
|
||||||
|
Loading…
Reference in New Issue
Block a user