diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysLogininforController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysLogininforController.java
index 1ed6c000..1fc33abf 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysLogininforController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysLogininforController.java
@@ -10,12 +10,14 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.annotation.InnerAuth;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.system.api.domain.SysLogininfor;
@@ -33,6 +35,9 @@ public class SysLogininforController extends BaseController
@Autowired
private ISysLogininforService logininforService;
+ @Autowired
+ private RedisService redisService;
+
@RequiresPermissions("system:logininfor:list")
@GetMapping("/list")
public TableDataInfo list(SysLogininfor logininfor)
@@ -69,6 +74,15 @@ public class SysLogininforController extends BaseController
return AjaxResult.success();
}
+ @RequiresPermissions("system:logininfor:unlock")
+ @Log(title = "账户解锁", businessType = BusinessType.OTHER)
+ @GetMapping("/unlock//{userName}")
+ public AjaxResult unlock(@PathVariable("userName") String userName)
+ {
+ redisService.deleteObject(CacheConstants.PWD_ERR_CNT_KEY + userName);
+ return success();
+ }
+
@InnerAuth
@PostMapping
public AjaxResult add(@RequestBody SysLogininfor logininfor)
diff --git a/ruoyi-ui/src/api/system/logininfor.js b/ruoyi-ui/src/api/system/logininfor.js
index 8f215699..755e6bc4 100644
--- a/ruoyi-ui/src/api/system/logininfor.js
+++ b/ruoyi-ui/src/api/system/logininfor.js
@@ -17,6 +17,13 @@ export function delLogininfor(infoId) {
})
}
+// 解锁用户登录状态
+export function unlockLogininfor(userName) {
+ return request({
+ url: '/system/logininfor/unlock/' + userName,
+ method: 'get'
+ })
+}
// 清空登录日志
export function cleanLogininfor() {
return request({
diff --git a/ruoyi-ui/src/views/system/logininfor/index.vue b/ruoyi-ui/src/views/system/logininfor/index.vue
index 7abae290..e7207427 100644
--- a/ruoyi-ui/src/views/system/logininfor/index.vue
+++ b/ruoyi-ui/src/views/system/logininfor/index.vue
@@ -73,6 +73,17 @@
v-hasPermi="['system:logininfor:remove']"
>清空
+
+ 解锁
+