fix(api): ldap authentication

This commit is contained in:
pycook 2023-12-19 00:16:56 +08:00
parent 2d2fb6e1d6
commit fe22e363b4
5 changed files with 7 additions and 6 deletions

View File

@ -59,6 +59,7 @@ class ErrFormat(CommonErrFormat):
email_send_timeout = "邮件发送超时" email_send_timeout = "邮件发送超时"
common_data_not_found = "ID {} 找不到记录" common_data_not_found = "ID {} 找不到记录"
common_data_already_existed = "{} 已存在"
notice_platform_existed = "{} 已存在" notice_platform_existed = "{} 已存在"
notice_not_existed = "{} 配置项不存在" notice_not_existed = "{} 配置项不存在"
notice_please_config_messenger_first = "请先配置 messenger" notice_please_config_messenger_first = "请先配置 messenger"
@ -74,4 +75,3 @@ class ErrFormat(CommonErrFormat):
ldap_test_unknown_error = "LDAP测试未知错误: {}" ldap_test_unknown_error = "LDAP测试未知错误: {}"
common_data_not_support_auth_type = "通用数据不支持auth类型: {}" common_data_not_support_auth_type = "通用数据不支持auth类型: {}"
ldap_test_username_required = "LDAP测试用户名必填" ldap_test_username_required = "LDAP测试用户名必填"

View File

@ -21,7 +21,7 @@ from api.models.acl import User
def authenticate_with_ldap(username, password): def authenticate_with_ldap(username, password):
config = AuthenticateDataCRUD(AuthenticateType.CAS).get() config = AuthenticateDataCRUD(AuthenticateType.LDAP).get()
server = Server(config.get('LDAP').get('ldap_server'), get_info=ALL, connect_timeout=3) server = Server(config.get('LDAP').get('ldap_server'), get_info=ALL, connect_timeout=3)
if '@' in username: if '@' in username:

View File

@ -39,7 +39,7 @@ class LoginView(APIView):
password = request.values.get("password") password = request.values.get("password")
_role = None _role = None
config = AuthenticateDataCRUD(AuthenticateType.LDAP).get() config = AuthenticateDataCRUD(AuthenticateType.LDAP).get()
if config.get('LDAP', {}).get('enabled'): if config.get('LDAP', {}).get('enabled') or config.get('LDAP', {}).get('enable'):
from api.lib.perm.authentication.ldap import authenticate_with_ldap from api.lib.perm.authentication.ldap import authenticate_with_ldap
user, authenticated = authenticate_with_ldap(username, password) user, authenticated = authenticate_with_ldap(username, password)
else: else:

View File

@ -1,9 +1,10 @@
from flask import abort, request from flask import abort, request
from api.lib.common_setting.common_data import AuthenticateDataCRUD
from api.lib.common_setting.const import TestType
from api.lib.common_setting.resp_format import ErrFormat
from api.lib.perm.acl.acl import role_required from api.lib.perm.acl.acl import role_required
from api.resource import APIView from api.resource import APIView
from api.lib.common_setting.common_data import AuthenticateDataCRUD
from api.lib.common_setting.resp_format import ErrFormat
prefix = '/auth_config' prefix = '/auth_config'

View File

@ -17,7 +17,7 @@
<a-space> <a-space>
<a-button :loading="loading" type="primary" @click="handleSave">保存</a-button> <a-button :loading="loading" type="primary" @click="handleSave">保存</a-button>
<template v-if="item.value === 'LDAP'"> <template v-if="item.value === 'LDAP'">
<a-button :loading="loading" ghost type="primary" @click="handleTest('connect')">测试</a-button> <a-button :loading="loading" ghost type="primary" @click="handleTest('connect')">测试</a-button>
<a-button :loading="loading" ghost type="primary" @click="handleTest('login')">测试登录</a-button> <a-button :loading="loading" ghost type="primary" @click="handleTest('login')">测试登录</a-button>
</template> </template>
<a-button :loading="loading" @click="handleReset">重置</a-button> <a-button :loading="loading" @click="handleReset">重置</a-button>