From 7a2850c3fff56c1d17189300707a7dc1562b40e1 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Fri, 4 Apr 2025 10:48:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0=EF=BC=9A?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=90=8E=E6=BF=80=E6=B4=BB=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=89=80=E5=9C=A8=E7=9A=84=E4=B8=BB=E9=83=A8?= =?UTF-8?q?=E9=97=A8=EF=BC=8C=E9=BB=98=E8=AE=A4=E4=B8=BA=E4=B8=8D=E6=BF=80?= =?UTF-8?q?=E6=B4=BB=E5=8D=B3=E6=B7=B7=E5=90=88=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jeesite/common/shiro/filter/FormFilter.java | 5 ++++- modules/core/src/main/resources/config/jeesite-core.yml | 3 +++ web-api/src/main/resources/config/application.yml | 3 +++ web/src/main/resources/config/application.yml | 3 +++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/modules/core/src/main/java/com/jeesite/common/shiro/filter/FormFilter.java b/modules/core/src/main/java/com/jeesite/common/shiro/filter/FormFilter.java index b983e44e..1726a7c4 100644 --- a/modules/core/src/main/java/com/jeesite/common/shiro/filter/FormFilter.java +++ b/modules/core/src/main/java/com/jeesite/common/shiro/filter/FormFilter.java @@ -58,6 +58,7 @@ public class FormFilter extends org.apache.shiro.web.filter.authc.FormAuthentica public static final Boolean POST_ROLE_PERMI = Global.getConfigToBoolean("user.postRolePermi", "false"); public static final Boolean SWITCH_OFFICE = Global.getConfigToBoolean("user.switchOffice", "false"); + public static final Boolean LOGIN_AFTER_ACTIVE_MAIN_OFFICE = Global.getConfigToBoolean("user.loginAfterActiveMainOffice", "false"); private static final Logger logger = LoggerFactory.getLogger(FormFilter.class); @@ -497,7 +498,9 @@ public class FormFilter extends org.apache.shiro.web.filter.authc.FormAuthentica } if (SWITCH_OFFICE && User.USER_TYPE_EMPLOYEE.equals(user.getUserType())) { data.put("switchOffice", "true"); - data.put("officeCode", session.getAttribute("officeCode")); + // 登录后指定当前部门,即当前部门权限,否则为混合权限 + data.put("officeCode", LOGIN_AFTER_ACTIVE_MAIN_OFFICE ? EmpUtils.getCurrentOfficeCode() + : session.getAttribute("officeCode")); data.put("officeName", EmpUtils.getCurrentOfficeName()); } data.put("desktopUrl", desktopUrl != null ? desktopUrl : Global.getConfig("sys.index.desktopUrl")); diff --git a/modules/core/src/main/resources/config/jeesite-core.yml b/modules/core/src/main/resources/config/jeesite-core.yml index df5248ab..4c44e9cd 100644 --- a/modules/core/src/main/resources/config/jeesite-core.yml +++ b/modules/core/src/main/resources/config/jeesite-core.yml @@ -194,6 +194,9 @@ user: # 是否启用切换部门功能,再开启启用岗位角色后可支持 用户->附属部门->岗位->关联角色,纳入菜单和权限管理 v5.10.1 switchOffice: false + + # 登录后激活当前用户所在的主部门,默认为不激活即混合权限 + loginAfterActiveMainOffice: false # 多租户模式(SAAS模式)(专业版) useCorpModel: false diff --git a/web-api/src/main/resources/config/application.yml b/web-api/src/main/resources/config/application.yml index 8afdafaf..665fd248 100644 --- a/web-api/src/main/resources/config/application.yml +++ b/web-api/src/main/resources/config/application.yml @@ -384,6 +384,9 @@ user: # # # 是否启用切换部门功能,再开启启用岗位角色后可支持 用户->附属部门->岗位->关联角色,纳入菜单和权限管理 v5.10.1 # switchOffice: false +# +# # 登录后激活当前用户所在的主部门,默认为不激活即混合权限 +# loginAfterActiveMainOffice: false # 多租户模式(SAAS模式)(专业版) useCorpModel: false diff --git a/web/src/main/resources/config/application.yml b/web/src/main/resources/config/application.yml index 9792006b..475ec7c1 100644 --- a/web/src/main/resources/config/application.yml +++ b/web/src/main/resources/config/application.yml @@ -384,6 +384,9 @@ user: # # # 是否启用切换部门功能,再开启启用岗位角色后可支持 用户->附属部门->岗位->关联角色,纳入菜单和权限管理 v5.10.1 # switchOffice: false +# +# # 登录后激活当前用户所在的主部门,默认为不激活即混合权限 +# loginAfterActiveMainOffice: false # 多租户模式(SAAS模式)(专业版) useCorpModel: false