From c153cd01974defe0d20ecbbb2c1f2fdc522d05f8 Mon Sep 17 00:00:00 2001
From: Mr.Shi <1878285526@qq.com>
Date: 星期四, 21 九月 2023 18:34:34 +0800
Subject: [PATCH] 企业端
---
server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java | 27 ++++++++++++++++++++++++---
1 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java
index 299fb97..14dfc00 100644
--- a/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroRealm.java
@@ -4,9 +4,12 @@
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.model.Company;
import com.doumee.dao.system.model.SystemPermission;
import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.business.CompanyService;
import com.doumee.service.system.SystemDataPermissionService;
import com.doumee.service.system.SystemPermissionService;
import com.doumee.service.system.SystemRoleService;
@@ -23,6 +26,7 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
+import java.util.Date;
import java.util.List;
/**
@@ -48,6 +52,10 @@
@Autowired
private SystemPermissionService systemPermissionService;
+ @Lazy
+ @Autowired
+ private CompanyService companyService;
+
/**
* 鏉冮檺澶勭悊
* @author Eva.Caesar Liu
@@ -69,7 +77,7 @@
* @date 2022/03/15 09:54
*/
@Override
- protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
+ protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException{
// 鑾峰彇鐢ㄦ埛鍚�
String username = authenticationToken.getPrincipal().toString();
// 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
@@ -77,11 +85,24 @@
queryDto.setUsername(username);
queryDto.setDeleted(Boolean.FALSE);
SystemUser user = systemUserService.findOne(queryDto);
+ if(user == null){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿鎴栧瘑鐮佷笉姝g‘锛�");
+ }
+ if(!Constants.equalsInteger(user.getType(),Constants.UserType.COMPANY.getKey())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝闈炰紒涓氳处鎴疯韩浠斤紝鏃犳硶鐧诲綍璇ュ钩鍙帮紒锛�");
+ }
if(!Constants.equalsInteger(user.getStatus(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅宸茶绂佺敤锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
}
- if (user == null) {
- return null;
+ if(!user.getType().equals(Constants.UserType.SYSTEM)){
+ Company company = companyService.findById(user.getCompanyId());
+ if(company.getStatus().equals(Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝浼佷笟淇℃伅宸茶绂佺敤锛屽鏈夌枒闂鑱旂郴绯荤粺绠$悊鍛橈紒");
+ }
+ if(DateUtil.compareDate(new Date(),DateUtil.addDaysToDate(company.getOepnValidDate(),1))<=Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟璐﹀彿宸茶繃鏈燂紝濡傞渶缁х画浣跨敤锛岃鑱旂郴鎮ㄧ殑涓氬姟缁忕悊");
+ }
+ user.setCompany(company);
}
// 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
--
Gitblit v1.9.3