mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 05:12:07 +08:00
1、禅道#795问题修复,支持部门禁用的实时检查;2、新增用户、部门、组织删除和禁用时对对应用户的token移除;
This commit is contained in:
+2
-2
@@ -1,2 +1,2 @@
|
||||
com.cf.imes.framework.datapermission.config.ChenfengDataPermissionAutoConfiguration
|
||||
com.cf.imes.framework.datapermission.config.ChenfengDeptDataPermissionAutoConfiguration
|
||||
#com.cf.imes.framework.datapermission.config.ChenfengDataPermissionAutoConfiguration
|
||||
#com.cf.imes.framework.datapermission.config.ChenfengDeptDataPermissionAutoConfiguration
|
||||
|
||||
+3
-2
@@ -16,6 +16,7 @@ import com.cf.imes.framework.organ.core.service.OrganFrameworkServiceImpl;
|
||||
import com.cf.imes.framework.organ.core.web.OrganContextWebFilter;
|
||||
import com.cf.imes.framework.web.config.WebProperties;
|
||||
import com.cf.imes.framework.web.core.handler.GlobalExceptionHandler;
|
||||
import com.cf.imes.module.system.api.dept.DeptApi;
|
||||
import com.cf.imes.module.system.api.organ.OrganApi;
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
|
||||
@@ -42,8 +43,8 @@ import java.util.Objects;
|
||||
public class ChenfengOrganAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
public OrganFrameworkService tenantFrameworkService(OrganApi organApi) {
|
||||
return new OrganFrameworkServiceImpl(organApi);
|
||||
public OrganFrameworkService tenantFrameworkService(OrganApi organApi, DeptApi deptApi) {
|
||||
return new OrganFrameworkServiceImpl(organApi, deptApi);
|
||||
}
|
||||
|
||||
// ========== AOP ==========
|
||||
|
||||
+5
@@ -61,8 +61,10 @@ public class OrganSecurityWebFilter extends ApiRequestFilter {
|
||||
throws ServletException, IOException {
|
||||
Long organId = WebFrameworkUtils.getOrganId(request);
|
||||
// 1. 登陆的用户,校验是否有权限访问该组织,避免越权问题。
|
||||
Long deptId = null;
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
if (user != null) {
|
||||
deptId = user.getDeptId();
|
||||
// 如果获取不到组织编号,则尝试使用登陆用户的组织编号
|
||||
if (organId == null) {
|
||||
organId = user.getOrganId();
|
||||
@@ -89,7 +91,10 @@ public class OrganSecurityWebFilter extends ApiRequestFilter {
|
||||
}
|
||||
// 3. 校验组织是合法,例如说被禁用、到期
|
||||
try {
|
||||
// 校验组织
|
||||
organFrameworkService.validOrgan(organId);
|
||||
// 校验部门
|
||||
organFrameworkService.validDept(deptId);
|
||||
} catch (Throwable ex) {
|
||||
CommonResult<?> result = globalExceptionHandler.allExceptionHandler(request, ex);
|
||||
// 组织失效返回401踢出系统
|
||||
|
||||
+6
@@ -23,4 +23,10 @@ public interface OrganFrameworkService {
|
||||
*/
|
||||
void validOrgan(Long id);
|
||||
|
||||
/**
|
||||
* 校验部门是否合法
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
void validDept(Long id);
|
||||
}
|
||||
|
||||
+7
@@ -1,6 +1,7 @@
|
||||
package com.cf.imes.framework.organ.core.service;
|
||||
|
||||
import com.cf.imes.framework.common.util.cache.CacheUtils;
|
||||
import com.cf.imes.module.system.api.dept.DeptApi;
|
||||
import com.cf.imes.module.system.api.organ.OrganApi;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
@@ -20,6 +21,8 @@ public class OrganFrameworkServiceImpl implements OrganFrameworkService {
|
||||
|
||||
private final OrganApi organApi;
|
||||
|
||||
private final DeptApi deptApi;
|
||||
|
||||
/**
|
||||
* 针对 {@link #getOrganIds()} 的缓存
|
||||
*/
|
||||
@@ -46,4 +49,8 @@ public class OrganFrameworkServiceImpl implements OrganFrameworkService {
|
||||
organApi.validOrgan(id).checkError();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void validDept(Long id) {
|
||||
deptApi.validateDept(id);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user