mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-12-25 16:59:20 +08:00
fix: 用户初始化默认增加复杂度校验
This commit is contained in:
parent
5e71ed9391
commit
98efb98190
7 changed files with 26 additions and 5 deletions
|
|
@ -60,7 +60,7 @@ func (u *AuthService) Login(c *gin.Context, info dto.Login) (*dto.UserLoginInfo,
|
|||
if err != nil {
|
||||
return nil, constant.ErrAuth
|
||||
}
|
||||
if info.Password != pass && nameSetting.Value == info.Name {
|
||||
if info.Password != pass || nameSetting.Value != info.Name {
|
||||
return nil, constant.ErrAuth
|
||||
}
|
||||
mfa, err := settingRepo.Get(settingRepo.WithByKey("MFAStatus"))
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ var AddTableSetting = &gormigrate.Migration{
|
|||
if err := tx.Create(&model.Setting{Key: "ExpirationDays", Value: "0"}).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
if err := tx.Create(&model.Setting{Key: "ComplexityVerification", Value: "disable"}).Error; err != nil {
|
||||
if err := tx.Create(&model.Setting{Key: "ComplexityVerification", Value: "enable"}).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
if err := tx.Create(&model.Setting{Key: "MFAStatus", Value: "disable"}).Error; err != nil {
|
||||
|
|
|
|||
|
|
@ -41,6 +41,19 @@ const checkName = (rule: any, value: any, callback: any) => {
|
|||
}
|
||||
};
|
||||
|
||||
const checkUserName = (rule: any, value: any, callback: any) => {
|
||||
if (value === '' || typeof value === 'undefined' || value == null) {
|
||||
callback(new Error(i18n.global.t('commons.rule.userName')));
|
||||
} else {
|
||||
const reg = /^[a-zA-Z\u4e00-\u9fa5]{1}[a-zA-Z0-9_\u4e00-\u9fa5]{5,30}$/;
|
||||
if (!reg.test(value) && value !== '') {
|
||||
callback(new Error(i18n.global.t('commons.rule.userName')));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const checkSimpleName = (rule: any, value: any, callback: any) => {
|
||||
if (value === '' || typeof value === 'undefined' || value == null) {
|
||||
callback(new Error(i18n.global.t('commons.rule.simpleName')));
|
||||
|
|
@ -138,6 +151,7 @@ interface CommonRule {
|
|||
requiredSelect: FormItemRule;
|
||||
requiredSelectBusiness: FormItemRule;
|
||||
name: FormItemRule;
|
||||
userName: FormItemRule;
|
||||
simpleName: FormItemRule;
|
||||
dbName: FormItemRule;
|
||||
imageName: FormItemRule;
|
||||
|
|
@ -196,6 +210,11 @@ export const Rules: CommonRule = {
|
|||
validator: checkName,
|
||||
trigger: 'blur',
|
||||
},
|
||||
userName: {
|
||||
required: true,
|
||||
validator: checkUserName,
|
||||
trigger: 'blur',
|
||||
},
|
||||
linuxName: {
|
||||
required: true,
|
||||
validator: checkLinuxName,
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@ export default {
|
|||
requiredInput: 'Please enter the required fields',
|
||||
requiredSelect: 'Please select the required fields',
|
||||
commonName: 'Support English, Chinese, numbers, .-, and _ length 1-30',
|
||||
userName: 'Support English, Chinese, numbers and _ length 5-30',
|
||||
simpleName: 'Support English, numbers and _ length 1-30',
|
||||
dbName: 'Support English, Chinese, numbers, .-, and _ length 1-16',
|
||||
imageName: 'Support English, Chinese, numbers, :.-_, length 1-30',
|
||||
|
|
|
|||
|
|
@ -125,6 +125,7 @@ export default {
|
|||
requiredInput: '请填写必填项',
|
||||
requiredSelect: '请选择必选项',
|
||||
commonName: '支持英文、中文、数字、.-和_,长度1-30',
|
||||
userName: '支持英文、中文、数字和_,长度5-30',
|
||||
simpleName: '支持英文、数字、_,长度1-30',
|
||||
dbName: '支持英文、中文、数字、.-_,长度1-16',
|
||||
imageName: '支持英文、中文、数字、:.-_,长度1-30',
|
||||
|
|
|
|||
|
|
@ -190,8 +190,8 @@ const registerForm = reactive({
|
|||
});
|
||||
const registerRules = reactive({
|
||||
name: [Rules.requiredInput],
|
||||
password: [Rules.requiredInput],
|
||||
rePassword: [Rules.requiredInput, { validator: checkPassword, trigger: 'blur' }],
|
||||
password: [Rules.requiredInput, Rules.password],
|
||||
rePassword: [Rules.requiredInput, Rules.password, { validator: checkPassword, trigger: 'blur' }],
|
||||
});
|
||||
|
||||
const loginButtonFocused = ref();
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<el-row>
|
||||
<el-col :span="1"><br /></el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item :label="$t('setting.user')" :rules="Rules.requiredInput" prop="userName">
|
||||
<el-form-item :label="$t('setting.user')" :rules="Rules.userName" prop="userName">
|
||||
<el-input clearable v-model="form.userName">
|
||||
<template #append>
|
||||
<el-button
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue