fix issue

pull/330/head
vapao 2021-06-07 10:39:29 +08:00
parent 466d036c71
commit 919d64594e
2 changed files with 10 additions and 13 deletions

View File

@ -167,9 +167,10 @@ def login(request):
if user and not user.is_active:
return json_response(error="账户已被系统禁用")
if form.type == 'ldap':
if not AppSetting.get_default('ldap_service'):
config = AppSetting.get_default('ldap_service')
if not config:
return json_response(error='请在系统设置中配置LDAP后再尝试通过该方式登录')
ldap = LDAP()
ldap = LDAP(**config)
is_success, message = ldap.valid_user(form.username, form.password)
if is_success:
if not user:

View File

@ -1,21 +1,17 @@
# Copyright: (c) OpenSpug Organization. https://github.com/openspug/spug
# Copyright: (c) <spug.dev@gmail.com>
# Released under the AGPL-3.0 License.
from apps.setting.models import Setting
import ldap
import json
class LDAP:
def __init__(self):
server_info = Setting.objects.filter(key='ldap_service').first()
ldap_info_dict = json.loads(server_info.value)
self.server = ldap_info_dict['server']
self.port = ldap_info_dict['port']
self.rules = ldap_info_dict['rules']
self.admin_dn = ldap_info_dict['admin_dn']
self.password = ldap_info_dict['password']
self.base_dn = ldap_info_dict['base_dn']
def __init__(self, server, port, rules, admin_dn, password, base_dn):
self.server = server
self.port = port
self.rules = rules
self.admin_dn = admin_dn
self.password = password
self.base_dn = base_dn
def valid_user(self, username, password):
try: