init
This commit is contained in:
@@ -137,6 +137,6 @@ public interface UserConstants {
|
||||
/**
|
||||
* 管理员ID
|
||||
*/
|
||||
Long ADMIN_ID = 1L;
|
||||
Long SUPER_ADMIN_ID = 1L;
|
||||
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ public class PlusDataPermissionHandler {
|
||||
DataPermissionHelper.setVariable("user", currentUser);
|
||||
}
|
||||
// 如果是超级管理员,则不过滤数据
|
||||
if (LoginHelper.isAdmin()) {
|
||||
if (LoginHelper.isSuperAdmin()) {
|
||||
return where;
|
||||
}
|
||||
String dataFilterSql = buildDataFilter(dataColumns, isSelect);
|
||||
|
||||
@@ -185,12 +185,13 @@ public class LoginHelper {
|
||||
* @param userId 用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
public static boolean isAdmin(Long userId) {
|
||||
return UserConstants.ADMIN_ID.equals(userId);
|
||||
public static boolean isSuperAdmin(Long userId) {
|
||||
return UserConstants.SUPER_ADMIN_ID.equals(userId);
|
||||
}
|
||||
|
||||
public static boolean isAdmin() {
|
||||
return isAdmin(getUserId());
|
||||
|
||||
public static boolean isSuperAdmin() {
|
||||
return isSuperAdmin(getUserId());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -47,34 +47,26 @@ public class TenantFilter implements Filter {
|
||||
}
|
||||
String tenantHeader = request.getHeader(TENANT_ID_HEADER);
|
||||
boolean login = TenantHelper.isLogin();
|
||||
if(login){
|
||||
if(login){ // 已经登录
|
||||
String tenantId = LoginHelper.getTenantId();
|
||||
if("/getInfo".equals(requestURI)){ // 特殊放权接口
|
||||
TenantHelper.setTenantId(tenantId);
|
||||
filterChain.doFilter(servletRequest, servletResponse);
|
||||
return;
|
||||
}
|
||||
Long userId = LoginHelper.getUserId();
|
||||
if(TenantConstants.SUPER_ADMIN_ID.equals(userId)){
|
||||
if(TenantConstants.SUPER_ADMIN_ID.equals(userId)){ // 超管前端给什么用什么
|
||||
TenantHelper.setTenantId(tenantHeader);
|
||||
filterChain.doFilter(servletRequest, servletResponse);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(!StringUtils.isBlank(tenantHeader)){
|
||||
if(login){
|
||||
String tenantId = LoginHelper.getTenantId();
|
||||
if(tenantId == null || !tenantId.equals(tenantHeader)){
|
||||
ServletUtils.renderString(response, JSONUtil.toJsonStr(R.fail("平台错误")));
|
||||
return;
|
||||
}
|
||||
TenantHelper.setTenantId(tenantId);
|
||||
}else{
|
||||
TenantHelper.setTenantId(tenantHeader);
|
||||
}
|
||||
} else {
|
||||
if(login){
|
||||
String tenantId = LoginHelper.getTenantId();
|
||||
if(tenantId == null){
|
||||
ServletUtils.renderString(response, JSONUtil.toJsonStr(R.fail("平台错误")));
|
||||
return;
|
||||
}
|
||||
TenantHelper.setTenantId(tenantId);
|
||||
if(tenantId == null || !tenantId.equals(tenantHeader)){ // 非超管 如果当前用户和前端给的不支持 返回异常
|
||||
ServletUtils.renderString(response, JSONUtil.toJsonStr(R.fail("平台错误")));
|
||||
return;
|
||||
}
|
||||
TenantHelper.setTenantId(tenantId);
|
||||
}else{
|
||||
TenantHelper.setTenantId(tenantHeader);
|
||||
}
|
||||
filterChain.doFilter(servletRequest, servletResponse);
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user