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_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_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_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:
|
try:
|
||||||
for i in sql:
|
for i in sql:
|
||||||
cur.execute(i)
|
cur.execute(i)
|
||||||
|
|
|
@ -625,6 +625,8 @@ if form.getvalue('get_ldap_email'):
|
||||||
user = sql.get_setting('ldap_user')
|
user = sql.get_setting('ldap_user')
|
||||||
password = sql.get_setting('ldap_password')
|
password = sql.get_setting('ldap_password')
|
||||||
ldap_base = sql.get_setting('ldap_base')
|
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)
|
l = ldap.initialize("ldap://"+server+':'+port)
|
||||||
try:
|
try:
|
||||||
|
@ -634,12 +636,12 @@ if form.getvalue('get_ldap_email'):
|
||||||
bind = l.simple_bind_s(user, password)
|
bind = l.simple_bind_s(user, password)
|
||||||
|
|
||||||
criteria = "(&(objectClass=user)(sAMAccountName="+username+"))"
|
criteria = "(&(objectClass=user)(sAMAccountName="+username+"))"
|
||||||
attributes = ['mail']
|
attributes = [ldap_search_field]
|
||||||
result = l.search_s(ldap_base, ldap.SCOPE_SUBTREE, criteria, attributes)
|
result = l.search_s(ldap_base, ldap.SCOPE_SUBTREE, criteria, attributes)
|
||||||
|
|
||||||
results = [entry for dn, entry in result if isinstance(entry, dict)]
|
results = [entry for dn, entry in result if isinstance(entry, dict)]
|
||||||
try:
|
try:
|
||||||
print('["'+results[0]['mail'][0].decode("utf-8")+'","'+user.split('@')[1]+'"]')
|
print('["'+results[0][ldap_search_field][0].decode("utf-8")+'","'+domain+'"]')
|
||||||
except:
|
except:
|
||||||
print('error: user not found')
|
print('error: user not found')
|
||||||
finally:
|
finally:
|
||||||
|
|
|
@ -33,7 +33,13 @@
|
||||||
{% for user in users %}
|
{% for user in users %}
|
||||||
<tr id="user-{{user.0}}" class="{{ loop.cycle('odd', 'even') }}">
|
<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 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><input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control"></td>
|
||||||
<td>
|
<td>
|
||||||
<select id="role-{{user.0}}" name="role-{{user.0}}">
|
<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">
|
<input type="text" id="login-{{user.0}}" value="{{user.1}}" class="form-control">
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="password" id="password-{{user.0}}" value="{{user.3}}" class="form-control">
|
{% if user.6 == 1%}
|
||||||
</td>
|
<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>
|
<td>
|
||||||
<input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control">
|
<input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control">
|
||||||
</td>
|
</td>
|
||||||
|
@ -21,19 +25,21 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
{% if page != "servers.py" and page != "servers.py#users" %}
|
{% if page != "servers.py" %}
|
||||||
<td>
|
{% if page != "servers.py#users" %}
|
||||||
<select id="usergroup-{{user.0}}" name="usergroup-{{user.0}}">
|
<td>
|
||||||
<option disabled selected>Choose group</option>
|
<select id="usergroup-{{user.0}}" name="usergroup-{{user.0}}">
|
||||||
{% for group in groups %}
|
<option disabled selected>Choose group</option>
|
||||||
{% if user.5 == group.0|string() %}
|
{% for group in groups %}
|
||||||
<option value="{{ group.0 }}" selected>{{ group.1 }}</option>
|
{% if user.5 == group.0|string() %}
|
||||||
{% else %}
|
<option value="{{ group.0 }}" selected>{{ group.1 }}</option>
|
||||||
<option value="{{ group.0 }}">{{ group.1 }}</option>
|
{% else %}
|
||||||
{% endif %}
|
<option value="{{ group.0 }}">{{ group.1 }}</option>
|
||||||
{% endfor %}
|
{% endif %}
|
||||||
</select>
|
{% endfor %}
|
||||||
</td>
|
</select>
|
||||||
|
</td>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<td><a class="delete" onclick="removeUser({{user.0}})" style="cursor: pointer;"></a></td>
|
<td><a class="delete" onclick="removeUser({{user.0}})" style="cursor: pointer;"></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -36,7 +36,13 @@
|
||||||
<input type="text" id="login-{{user.0}}" value="{{user.1}}" class="form-control">
|
<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 }}">
|
<input type="hidden" id="usergroup-{{user.0}}" name="usergroup-{{user.0}}" value="{{ group }}">
|
||||||
</td>
|
</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><input type="text" id="email-{{user.0}}" value="{{user.2}}" class="form-control"></td>
|
||||||
<td>
|
<td>
|
||||||
<select id="role-{{user.0}}" name="role-{{user.0}}">
|
<select id="role-{{user.0}}" name="role-{{user.0}}">
|
||||||
|
|
Loading…
Reference in New Issue