Merge pull request #4148 from jumpserver/pr@dev@mfa

perf: User first login mfa control
This commit is contained in:
feng626
2024-07-01 16:48:00 +08:00
committed by GitHub
2 changed files with 11 additions and 2 deletions

View File

@@ -1,11 +1,12 @@
<template>
<GenericCreateUpdatePage v-bind="$data" />
<GenericCreateUpdatePage v-bind="$data" @getObjectDone="disableMFAFieldIfNeed" />
</template>
<script>
import { GenericCreateUpdatePage } from '@/layout/components'
import { Required } from '@/components/Form/DataForm/rules'
import { PhoneInput } from '@/components/Form/FormFields'
import store from '@/store'
export default {
name: 'Improvement',
@@ -86,6 +87,15 @@ export default {
return 'put'
}
}
},
methods: {
disableMFAFieldIfNeed(user) {
const adminUserIsNeed = (user?.is_superuser || user?.is_org_admin) &&
store.getters.publicSettings['SECURITY_MFA_AUTH'] === 2
if (store.getters.publicSettings['SECURITY_MFA_AUTH'] === 1 || adminUserIsNeed || user?.mfa_level.value === 2) {
this.fieldsMeta['mfa_level'].disabled = true
}
}
}
}
</script>

View File

@@ -236,7 +236,6 @@ export default {
store.getters.publicSettings['SECURITY_MFA_AUTH'] === 2
if (store.getters.publicSettings['SECURITY_MFA_AUTH'] === 1 || adminUserIsNeed) {
this.fieldsMeta['mfa_level'].disabled = true
this.fieldsMeta['mfa_level'].helpText = this.$t('GlobalDisableMfaMsg')
}
}
}