mirror of https://github.com/Aidaho12/haproxy-wi
parent
5183c56cae
commit
a6219ef87a
|
@ -277,7 +277,9 @@ def update_db_v_3_3(**kwargs):
|
|||
"INSERT INTO settings (param, value, section, `desc`) values('ldap_port', '389', 'ldap', 'Default port is 389 or 636');",
|
||||
"INSERT INTO settings (param, value, section, `desc`) values('ldap_user', '', 'ldap', 'Login for connect to LDAP server. Enter: user@domain.com');",
|
||||
"INSERT INTO settings (param, value, section, `desc`) values('ldap_password', '', 'ldap', 'Password for connect to LDAP server');",
|
||||
"INSERT INTO settings (param, value, section, `desc`) values('ldap_base', '', 'ldap', 'Base domain. Example: dc=domain, dc=com');"]
|
||||
"INSERT INTO settings (param, value, section, `desc`) values('ldap_base', '', 'ldap', 'Base domain. Example: dc=domain, dc=com');",
|
||||
"INSERT INTO settings (param, value, section, `desc`) values('ldap_domain', '', 'ldap', 'Domain for login, that after @, like user@domain.com, without user@');",
|
||||
"INSERT INTO settings (param, value, section, `desc`) values('ldap_search_field', 'mail', 'ldap', 'Field where user e-mail saved');"]
|
||||
try:
|
||||
for i in sql:
|
||||
cur.execute(i)
|
||||
|
|
|
@ -625,6 +625,8 @@ if form.getvalue('get_ldap_email'):
|
|||
user = sql.get_setting('ldap_user')
|
||||
password = sql.get_setting('ldap_password')
|
||||
ldap_base = sql.get_setting('ldap_base')
|
||||
domain = sql.get_setting('ldap_domain')
|
||||
ldap_search_field = sql.get_setting('ldap_search_field')
|
||||
|
||||
l = ldap.initialize("ldap://"+server+':'+port)
|
||||
try:
|
||||
|
@ -634,12 +636,12 @@ if form.getvalue('get_ldap_email'):
|
|||
bind = l.simple_bind_s(user, password)
|
||||
|
||||
criteria = "(&(objectClass=user)(sAMAccountName="+username+"))"
|
||||
attributes = ['mail']
|
||||
attributes = [ldap_search_field]
|
||||
result = l.search_s(ldap_base, ldap.SCOPE_SUBTREE, criteria, attributes)
|
||||
|
||||
results = [entry for dn, entry in result if isinstance(entry, dict)]
|
||||
try:
|
||||
print('["'+results[0]['mail'][0].decode("utf-8")+'","'+user.split('@')[1]+'"]')
|
||||
print('["'+results[0][ldap_search_field][0].decode("utf-8")+'","'+domain+'"]')
|
||||
except:
|
||||
print('error: user not found')
|
||||
finally:
|
||||
|
|
|
@ -33,7 +33,13 @@
|
|||
{% for user in users %}
|
||||
<tr id="user-{{user.0}}" class="{{ loop.cycle('odd', 'even') }}">
|
||||
<td class="padding10 first-collumn"><input type="text" id="login-{{user.0}}" value="{{user.1}}" class="form-control"></td>
|
||||
<td><input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control"></td>
|
||||
<td>
|
||||
{% if user.6 == 1%}
|
||||
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control" readonly>
|
||||
{% else %}
|
||||
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control">
|
||||
{% endif %}
|
||||
</td>
|
||||
<td><input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control"></td>
|
||||
<td>
|
||||
<select id="role-{{user.0}}" name="role-{{user.0}}">
|
||||
|
|
|
@ -4,8 +4,12 @@
|
|||
<input type="text" id="login-{{user.0}}" value="{{user.1}}" class="form-control">
|
||||
</td>
|
||||
<td>
|
||||
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control">
|
||||
</td>
|
||||
{% if user.6 == 1%}
|
||||
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control" readonly>
|
||||
{% else %}
|
||||
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control">
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control">
|
||||
</td>
|
||||
|
@ -21,19 +25,21 @@
|
|||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
{% if page != "servers.py" and page != "servers.py#users" %}
|
||||
<td>
|
||||
<select id="usergroup-{{user.0}}" name="usergroup-{{user.0}}">
|
||||
<option disabled selected>Choose group</option>
|
||||
{% for group in groups %}
|
||||
{% if user.5 == group.0|string() %}
|
||||
<option value="{{ group.0 }}" selected>{{ group.1 }}</option>
|
||||
{% else %}
|
||||
<option value="{{ group.0 }}">{{ group.1 }}</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
{% if page != "servers.py" %}
|
||||
{% if page != "servers.py#users" %}
|
||||
<td>
|
||||
<select id="usergroup-{{user.0}}" name="usergroup-{{user.0}}">
|
||||
<option disabled selected>Choose group</option>
|
||||
{% for group in groups %}
|
||||
{% if user.5 == group.0|string() %}
|
||||
<option value="{{ group.0 }}" selected>{{ group.1 }}</option>
|
||||
{% else %}
|
||||
<option value="{{ group.0 }}">{{ group.1 }}</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<td><a class="delete" onclick="removeUser({{user.0}})" style="cursor: pointer;"></a></td>
|
||||
</tr>
|
||||
|
|
|
@ -36,7 +36,13 @@
|
|||
<input type="text" id="login-{{user.0}}" value="{{user.1}}" class="form-control">
|
||||
<input type="hidden" id="usergroup-{{user.0}}" name="usergroup-{{user.0}}" value="{{ group }}">
|
||||
</td>
|
||||
<td><input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control"></td>
|
||||
<td>
|
||||
{% if user.6 == 1%}
|
||||
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control" readonly>
|
||||
{% else %}
|
||||
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control">
|
||||
{% endif %}
|
||||
</td>
|
||||
<td><input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control"></td>
|
||||
<td>
|
||||
<select id="role-{{user.0}}" name="role-{{user.0}}">
|
||||
|
|
Loading…
Reference in New Issue