mirror of
https://github.com/dataease/dataease.git
synced 2025-02-24 03:22:56 +08:00
fix(X-Pack): Ldap 对接 AD 域可以免密登录
This commit is contained in:
parent
be19a11c8c
commit
21dc31da55
@ -416,7 +416,9 @@ export default {
|
||||
btn: 'Login',
|
||||
username_format: "1-25 alphanumeric characters or ._-:{'@'} and start with a letter or number",
|
||||
pwd_format: 'Password length is 5-15',
|
||||
default_login: 'Default'
|
||||
default_login: 'Default',
|
||||
ldap_login: 'LDAP Login',
|
||||
account_login: 'Account Login'
|
||||
},
|
||||
component: {
|
||||
columnList: 'List item',
|
||||
|
@ -407,7 +407,9 @@ export default {
|
||||
btn: '登入',
|
||||
username_format: "1-25位元字母數字或._-:{'@'}且以字母或數字開頭",
|
||||
pwd_format: '密碼長度在5-15',
|
||||
default_login: '預設'
|
||||
default_login: '預設',
|
||||
ldap_login: 'LDAP 登錄',
|
||||
account_login: '賬號登錄'
|
||||
},
|
||||
component: {
|
||||
columnList: '列表項目',
|
||||
|
@ -408,7 +408,9 @@ export default {
|
||||
btn: '登录',
|
||||
username_format: "1-25位字母数字或者._-:{'@'}且以字母或数字开头",
|
||||
pwd_format: '密码长度在5-15',
|
||||
default_login: '默认'
|
||||
default_login: '默认',
|
||||
ldap_login: 'LDAP 登录',
|
||||
account_login: '账号登录'
|
||||
},
|
||||
component: {
|
||||
columnList: '列表项',
|
||||
|
@ -80,12 +80,16 @@ const handleLogin = () => {
|
||||
wsCache.set(appStore.getDekey, res.data)
|
||||
}
|
||||
const param = { name: rsaEncryp(name), pwd: rsaEncryp(pwd) }
|
||||
const isLdap = activeName.value === 'ldap'
|
||||
if (isLdap) {
|
||||
param['origin'] = 1
|
||||
}
|
||||
duringLogin.value = true
|
||||
cleanPlatformFlag()
|
||||
loginApi(param)
|
||||
.then(res => {
|
||||
const { token, exp, mfa } = res.data
|
||||
if (mfa?.enabled) {
|
||||
if (!isLdap && mfa?.enabled) {
|
||||
xpackLoginHandler.value?.invokeMethod({ methodName: 'toMfa', args: mfa })
|
||||
duringLogin.value = false
|
||||
return
|
||||
@ -93,7 +97,7 @@ const handleLogin = () => {
|
||||
userStore.setToken(token)
|
||||
userStore.setExp(exp)
|
||||
userStore.setTime(Date.now())
|
||||
if (!xpackLoadFail.value && xpackInvalidPwd.value?.invokeMethod) {
|
||||
if (!isLdap && !xpackLoadFail.value && xpackInvalidPwd.value?.invokeMethod) {
|
||||
const param = {
|
||||
methodName: 'init'
|
||||
}
|
||||
@ -109,18 +113,6 @@ const handleLogin = () => {
|
||||
}
|
||||
})
|
||||
}
|
||||
const ldapValidate = callback => {
|
||||
if (!formRef.value) return
|
||||
formRef.value.validate((valid: boolean) => {
|
||||
if (valid && callback) {
|
||||
duringLogin.value = true
|
||||
callback()
|
||||
}
|
||||
})
|
||||
}
|
||||
const ldapFeedback = () => {
|
||||
duringLogin.value = false
|
||||
}
|
||||
const invalidPwdCb = val => {
|
||||
duringLogin.value = !!val
|
||||
if (val) {
|
||||
@ -303,14 +295,21 @@ onMounted(async () => {
|
||||
{{ slogan || '人人可用的开源 BI 工具' }}
|
||||
</div>
|
||||
<div class="login-form">
|
||||
<div class="default-login-tabs" v-if="activeName === 'simple'">
|
||||
<div
|
||||
class="default-login-tabs"
|
||||
v-if="activeName === 'simple' || activeName === 'ldap'"
|
||||
>
|
||||
<div class="login-form-title">
|
||||
<span>账号登录</span>
|
||||
<span>{{
|
||||
activeName === 'ldap' ? t('login.ldap_login') : t('login.account_login')
|
||||
}}</span>
|
||||
</div>
|
||||
<el-form-item class="login-form-item" prop="username">
|
||||
<el-input
|
||||
v-model="state.loginForm.username"
|
||||
:placeholder="t('common.account') + '/' + t('commons.email')"
|
||||
:placeholder="`${t('common.account')}${
|
||||
activeName === 'simple' ? '/' + t('commons.email') : ''
|
||||
}`"
|
||||
autofocus
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -341,15 +340,6 @@ onMounted(async () => {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<XpackComponent
|
||||
class="default-login-tabs"
|
||||
:active-name="activeName"
|
||||
:login-form="state.loginForm"
|
||||
@validate="ldapValidate"
|
||||
@feedback="ldapFeedback"
|
||||
jsname="L2NvbXBvbmVudC9sb2dpbi9MZGFw"
|
||||
/>
|
||||
|
||||
<XpackComponent
|
||||
ref="xpackLoginHandler"
|
||||
jsname="L2NvbXBvbmVudC9sb2dpbi9IYW5kbGVy"
|
||||
|
2
de-xpack
2
de-xpack
@ -1 +1 @@
|
||||
Subproject commit 5173eaefa1251c2f6b7de3d18cfd21046201fda3
|
||||
Subproject commit f81422e0cb94b72dcf37e940f82e4107e520e9a9
|
Loading…
Reference in New Issue
Block a user