fix: MFA display problem on user detail page

This commit is contained in:
w940853815
2026-01-20 16:47:21 +08:00
committed by wrd
parent dd9b40de20
commit 771ee96a1a
2 changed files with 19 additions and 2 deletions

View File

@@ -264,7 +264,7 @@ export default {
let mfa_level = null
// SECURITY_MFA_AUTH 0 不开启 1 全局开启 2 管理员开启
const securityMFAAuth = store.getters.publicSettings['SECURITY_MFA_AUTH']
const adminUserIsNeed = (user?.is_superuser || user?.is_org_admin) && this.$route.meta.action === 'update' &&
const adminUserIsNeed = (user?.is_superuser || user?.is_org_admin) && this.$route.params.action === 'update' &&
securityMFAAuth === MFASystemSetting.onlyAdminUsers
if (securityMFAAuth === MFASystemSetting.allUsers) {
options = [{ 'value': MFALevel.allUsers, 'label': this.$t('MFAAllUsers') }]

View File

@@ -20,6 +20,8 @@ import { QuickActions } from '@/components'
import RelationCard from '@/components/Cards/RelationCard'
import AutoDetailCard from '@/components/Cards/DetailCard/auto'
import TwoCol from '@/layout/components/Page/TwoColPage.vue'
import store from '@/store'
import { MFASystemSetting } from '@/views/users/const'
export default {
name: 'UserInfo',
@@ -226,7 +228,22 @@ export default {
return <div>{doms}</div>
}
},
'wecom_id', 'dingtalk_id', 'feishu_id', 'mfa_level',
'wecom_id', 'dingtalk_id', 'feishu_id',
{
key: this.$t('MFA'),
formatter: (item, val) => {
const user = vm.object
const securityMFAAuth = store.getters.publicSettings['SECURITY_MFA_AUTH']
const adminUserIsNeed = (user?.is_superuser || user?.is_org_admin) && securityMFAAuth === MFASystemSetting.onlyAdminUsers
if (securityMFAAuth === MFASystemSetting.allUsers) {
return this.$t('MFAAllUsers')
}
if (securityMFAAuth === MFASystemSetting.onlyAdminUsers && adminUserIsNeed) {
return this.$t('MFAOnlyAdminUsers')
}
return user?.mfa_level.label
}
},
'source', 'labels',
'created_by', 'date_joined', 'date_expired',
'date_password_last_updated', 'last_login', 'comment'