Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cocktail-party-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cocktail-party
cocktail-party-server
Commits
c0355a0f
提交
c0355a0f
authored
5月 23, 2025
作者:
RuoYi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
账号密码支持自定义更新周期
上级
8ff01355
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
34 行增加
和
7 行删除
+34
-7
SysLoginController.java
...a/com/ruoyi/web/controller/system/SysLoginController.java
+20
-0
user.js
ruoyi-ui/src/store/modules/user.js
+6
-0
ry_20250522.sql
sql/ry_20250522.sql
+8
-7
没有找到文件。
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
浏览文件 @
c0355a0f
...
...
@@ -15,7 +15,9 @@ import com.ruoyi.common.core.domain.entity.SysUser;
import
com.ruoyi.common.core.domain.model.LoginBody
;
import
com.ruoyi.common.core.domain.model.LoginUser
;
import
com.ruoyi.common.core.text.Convert
;
import
com.ruoyi.common.utils.DateUtils
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.framework.web.service.SysLoginService
;
import
com.ruoyi.framework.web.service.SysPermissionService
;
import
com.ruoyi.framework.web.service.TokenService
;
...
...
@@ -86,6 +88,7 @@ public class SysLoginController
ajax
.
put
(
"roles"
,
roles
);
ajax
.
put
(
"permissions"
,
permissions
);
ajax
.
put
(
"isDefaultModifyPwd"
,
initPasswordIsModify
(
user
.
getPwdUpdateDate
()));
ajax
.
put
(
"isPasswordExpired"
,
passwordIsExpiration
(
user
.
getPwdUpdateDate
()));
return
ajax
;
}
...
...
@@ -108,4 +111,21 @@ public class SysLoginController
Integer
initPasswordModify
=
Convert
.
toInt
(
configService
.
selectConfigByKey
(
"sys.account.initPasswordModify"
));
return
initPasswordModify
!=
null
&&
initPasswordModify
==
1
&&
pwdUpdateDate
==
null
;
}
// 检查密码是否过期
public
boolean
passwordIsExpiration
(
Date
pwdUpdateDate
)
{
Integer
passwordValidateDays
=
Convert
.
toInt
(
configService
.
selectConfigByKey
(
"sys.account.passwordValidateDays"
));
if
(
passwordValidateDays
!=
null
&&
passwordValidateDays
>
0
)
{
if
(
StringUtils
.
isNull
(
pwdUpdateDate
))
{
// 如果从未修改过初始密码,直接提醒过期
return
true
;
}
Date
nowDate
=
DateUtils
.
getNowDate
();
return
DateUtils
.
differentDaysByMillisecond
(
nowDate
,
pwdUpdateDate
)
>
passwordValidateDays
;
}
return
false
;
}
}
ruoyi-ui/src/store/modules/user.js
浏览文件 @
c0355a0f
...
...
@@ -83,6 +83,12 @@ const user = {
router
.
push
({
name
:
'Profile'
,
params
:
{
activeTab
:
'resetPwd'
}
})
}).
catch
(()
=>
{})
}
/* 过期密码提示 */
if
(
!
res
.
isDefaultModifyPwd
&&
res
.
isPasswordExpired
)
{
MessageBox
.
confirm
(
'您的密码已过期,请尽快修改密码!'
,
'安全提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
router
.
push
({
name
:
'Profile'
,
params
:
{
activeTab
:
'resetPwd'
}
})
}).
catch
(()
=>
{})
}
resolve
(
res
)
}).
catch
(
error
=>
{
reject
(
error
)
...
...
sql/ry_20250522.sql
浏览文件 @
c0355a0f
...
...
@@ -545,13 +545,14 @@ create table sys_config (
primary
key
(
config_id
)
)
engine
=
innodb
auto_increment
=
100
comment
=
'参数配置表'
;
insert
into
sys_config
values
(
1
,
'主框架页-默认皮肤样式名称'
,
'sys.index.skinName'
,
'skin-blue'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'
);
insert
into
sys_config
values
(
2
,
'用户管理-账号初始密码'
,
'sys.user.initPassword'
,
'123456'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'初始化密码 123456'
);
insert
into
sys_config
values
(
3
,
'主框架页-侧边栏主题'
,
'sys.index.sideTheme'
,
'theme-dark'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'深色主题theme-dark,浅色主题theme-light'
);
insert
into
sys_config
values
(
4
,
'账号自助-验证码开关'
,
'sys.account.captchaEnabled'
,
'true'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'是否开启验证码功能(true开启,false关闭)'
);
insert
into
sys_config
values
(
5
,
'账号自助-是否开启用户注册功能'
,
'sys.account.registerUser'
,
'false'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'是否开启注册用户功能(true开启,false关闭)'
);
insert
into
sys_config
values
(
6
,
'用户登录-黑名单列表'
,
'sys.login.blackIPList'
,
''
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)'
);
insert
into
sys_config
values
(
7
,
'用户管理-初始密码修改策略'
,
'sys.account.initPasswordModify'
,
'1'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'0:初始密码修改策略关闭,没有任何提示,1:提醒用户,如果未修改初始密码,则在登录时就会提醒修改密码对话框'
);
insert
into
sys_config
values
(
1
,
'主框架页-默认皮肤样式名称'
,
'sys.index.skinName'
,
'skin-blue'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'
);
insert
into
sys_config
values
(
2
,
'用户管理-账号初始密码'
,
'sys.user.initPassword'
,
'123456'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'初始化密码 123456'
);
insert
into
sys_config
values
(
3
,
'主框架页-侧边栏主题'
,
'sys.index.sideTheme'
,
'theme-dark'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'深色主题theme-dark,浅色主题theme-light'
);
insert
into
sys_config
values
(
4
,
'账号自助-验证码开关'
,
'sys.account.captchaEnabled'
,
'true'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'是否开启验证码功能(true开启,false关闭)'
);
insert
into
sys_config
values
(
5
,
'账号自助-是否开启用户注册功能'
,
'sys.account.registerUser'
,
'false'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'是否开启注册用户功能(true开启,false关闭)'
);
insert
into
sys_config
values
(
6
,
'用户登录-黑名单列表'
,
'sys.login.blackIPList'
,
''
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)'
);
insert
into
sys_config
values
(
7
,
'用户管理-初始密码修改策略'
,
'sys.account.initPasswordModify'
,
'1'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'0:初始密码修改策略关闭,没有任何提示,1:提醒用户,如果未修改初始密码,则在登录时就会提醒修改密码对话框'
);
insert
into
sys_config
values
(
8
,
'用户管理-账号密码更新周期'
,
'sys.account.passwordValidateDays'
,
'0'
,
'Y'
,
'admin'
,
sysdate
(),
''
,
null
,
'密码更新周期(填写数字,数据初始化值为0不限制,若修改必须为大于0小于365的正整数),如果超过这个周期登录系统时,则在登录时就会提醒修改密码对话框'
);
-- ----------------------------
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论