From 5ed3700013b2c653bbab897c970182c1af39ce15 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 02 二月 2024 14:38:21 +0800
Subject: [PATCH] 111
---
server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java | 20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java b/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
index 968f073..13468a3 100644
--- a/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
+++ b/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
@@ -15,6 +15,7 @@
import com.doumee.service.system.SystemPermissionService;
import com.doumee.service.system.SystemRoleService;
import com.doumee.service.system.SystemUserService;
+import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
@@ -102,10 +103,12 @@
if(!Constants.equalsInteger(user.getStatus(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅宸茶绂佺敤锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
}
+ List<SystemRole> roles = null;
+ List<SystemPermission> permissions =null;
// 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
- List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
- List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
if(authenticationToken.getUserType() == 0){
+ roles = systemRoleService.findByUserId(user.getId());
+ permissions = systemPermissionService.findByUserId(user.getId());
CompanyPermission c = new CompanyPermission();
c.setUserId(user.getId());
c.setIsdeleted(Constants.ZERO);
@@ -124,9 +127,20 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝浼佷笟璐﹀彿淇℃伅涓嶆纭紒");
}
user.setCompany(company);
+ if(StringUtils.equals(company.getUsername(),user.getUsername())){
+ //濡傛灉鏄秴绠★紝
+ SystemRole role = new SystemRole();
+ role.setType(Constants.ONE);
+ role.setDeleted(Boolean.FALSE);
+ roles = systemRoleService.findList(role);
+ SystemPermission p = new SystemPermission();
+ permissions = systemPermissionService.findList(p);
+ }else{
+ roles = systemRoleService.findByUserId(user.getId());
+ permissions = systemPermissionService.findByUserId(user.getId());
+ }
}
LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
-
// 楠岃瘉鐢ㄦ埛
return new SimpleAuthenticationInfo(userInfo, user.getPassword(), this.getName());
}
--
Gitblit v1.9.3