From 51819dbd5ae52a60236265b19bb3d77f6dc53002 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 20 六月 2024 15:41:01 +0800
Subject: [PATCH] 提交一把
---
server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java | 24 +++++++++++++++++++-----
1 files changed, 19 insertions(+), 5 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 10bcf6d..bab1c58 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,11 +103,11 @@
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());
- LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
- if(authenticationToken.getUserType() == 0){
+ if(authenticationToken.getUserType() == 0){
+ roles = systemRoleService.findByUserId(user.getId());
CompanyPermission c = new CompanyPermission();
c.setUserId(user.getId());
c.setIsdeleted(Constants.ZERO);
@@ -119,14 +120,27 @@
user.getCompanyIdList().add(cc.getCompanyId());
}
}
+ permissions = systemPermissionService.findByUserId(user.getId());
}else{
Company company = companyService.findById(user.getCompanyId());
if(company == null){
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,user.getType());
+ }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