diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/user/EmpUserController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/user/EmpUserController.java index f7ed2aa8fb43de689a80399f2d52e6078c3fd847..9d931b0fdcf0332b1e081f8107a78539fdf82f21 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/user/EmpUserController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/user/EmpUserController.java @@ -4,14 +4,17 @@ */ package com.jeesite.modules.sys.web.user; +import java.util.Collection; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.jeesite.common.shiro.session.SessionDAO; import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.apache.shiro.session.Session; import org.apache.shiro.subject.Subject; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -72,6 +75,8 @@ public class EmpUserController extends BaseController { private UserService userService; @Autowired private RoleService roleService; + @Autowired + private SessionDAO sessionDAO; @ModelAttribute public EmpUser get(String userCode, boolean isNewRecord) { @@ -342,6 +347,8 @@ public class EmpUserController extends BaseController { return renderResult(Global.FALSE, text("删除用户失败,不允许删除当前用户")); } empUserService.delete(empUser); + Collection sessions = sessionDAO.getActiveSessions(true, true, null, null, empUser.getUserCode()); + sessions.forEach(sessionDAO::delete); return renderResult(Global.TRUE, text("删除用户''{0}''成功", empUser.getUserName())); }