diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java index 37dd717..db0da7a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java @@ -1,6 +1,7 @@ package com.ruoyi.web.controller.monitor; import java.util.List; +import com.ruoyi.framework.shiro.service.SysPasswordService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -31,6 +32,9 @@ public class SysLogininforController extends BaseController @Autowired private ISysLogininforService logininforService; + @Autowired + private SysPasswordService passwordService; + @RequiresPermissions("monitor:logininfor:view") @GetMapping() public String logininfor() @@ -77,4 +81,14 @@ public class SysLogininforController extends BaseController logininforService.cleanLogininfor(); return success(); } + + @RequiresPermissions("monitor:logininfor:unlock") + @Log(title = "账户解锁", businessType = BusinessType.OTHER) + @PostMapping("/unlock") + @ResponseBody + public AjaxResult unlock(String loginName) + { + passwordService.unlock(loginName); + return success(); + } } diff --git a/ruoyi-admin/src/main/resources/static/i18n/messages.properties b/ruoyi-admin/src/main/resources/static/i18n/messages.properties index 73f1ad6..ad835ca 100644 --- a/ruoyi-admin/src/main/resources/static/i18n/messages.properties +++ b/ruoyi-admin/src/main/resources/static/i18n/messages.properties @@ -1,8 +1,8 @@ #错误消息 not.null=* 必须填写 user.jcaptcha.error=验证码错误 -user.not.exists=用户不存在/密码错误 -user.password.not.match=用户不存在/密码错误 +user.not.exists=用户不存在 +user.password.not.match=密码错误 user.password.retry.limit.count=密码输入错误{0}次 user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定10分钟 user.password.delete=对不起,您的账号已被删除 diff --git a/ruoyi-admin/src/main/resources/templates/monitor/logininfor/logininfor.html b/ruoyi-admin/src/main/resources/templates/monitor/logininfor/logininfor.html index 738d845..4c5670f 100644 --- a/ruoyi-admin/src/main/resources/templates/monitor/logininfor/logininfor.html +++ b/ruoyi-admin/src/main/resources/templates/monitor/logininfor/logininfor.html @@ -44,6 +44,9 @@ 清空 + + 解锁 + 导出 @@ -121,6 +124,10 @@ }; $.table.init(options); }); + + function unlock() { + $.operate.post(prefix + "/unlock?loginName=" + $.table.selectColumns("loginName")); + } \ No newline at end of file diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/service/SysPasswordService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/service/SysPasswordService.java index 18caf65..4a6651b 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/service/SysPasswordService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/service/SysPasswordService.java @@ -83,4 +83,8 @@ public class SysPasswordService return new Md5Hash(username + password + salt).toHex().toString(); } + public void unlock(String loginName){ + loginRecordCache.remove(loginName); + } + } diff --git a/sql/ry_20190920.sql b/sql/ry_20190920.sql index b89b19f..2ec2442 100644 --- a/sql/ry_20190920.sql +++ b/sql/ry_20190920.sql @@ -964,6 +964,9 @@ GO INSERT INTO [dbo].[sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [url], [menu_type], [visible], [perms], [icon], [create_by], [create_time], [update_by], [update_time], [remark], [target]) VALUES (N'1045', N'日志导出', N'501', N'3', N'#', N'F', N'0', N'monitor:logininfor:export', N'#', N'admin', N'2018-03-16 11:33:00.0000000', N'ry', N'2018-03-16 11:33:00.0000000', N'', N'') GO +INSERT INTO [dbo].[sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [url], [menu_type], [visible], [perms], [icon], [create_by], [create_time], [update_by], [update_time], [remark], [target]) VALUES (N'1061', N'在线查询', N'109', N'1', N'#', N'F', N'0', N'monitor:logininfor:unlock', N'#', N'admin', N'2018-03-16 11:33:00.0000000', N'ry', N'2018-03-16 11:33:00.0000000', N'', N'') +GO + INSERT INTO [dbo].[sys_menu] ([menu_id], [menu_name], [parent_id], [order_num], [url], [menu_type], [visible], [perms], [icon], [create_by], [create_time], [update_by], [update_time], [remark], [target]) VALUES (N'1046', N'在线查询', N'109', N'1', N'#', N'F', N'0', N'monitor:online:list', N'#', N'admin', N'2018-03-16 11:33:00.0000000', N'ry', N'2018-03-16 11:33:00.0000000', N'', N'') GO @@ -1272,6 +1275,9 @@ GO INSERT INTO [dbo].[sys_role_menu] VALUES (N'2', N'1045') GO +INSERT INTO [dbo].[sys_role_menu] VALUES (N'2', N'1061') +GO +