Sfoglia il codice sorgente

优化:去掉dmp-auth模块,合并到dmp-auth-starter模块中

lijie 3 anni fa
parent
commit
545eb61e74

+ 4 - 0
dmp-common/src/main/java/com/persagy/dmp/common/context/AppContext.java

@@ -21,10 +21,14 @@ public abstract class AppContext implements Serializable {
     public static final String APP_ID = "appId";
     /** 用户ID */
     public static final String ACCOUNT_ID = "accountId";
+    /** 用户ID */
+    public static final String USER_ID = "userId";
     /** 项目ID */
     public static final String PROJECT_ID = "projectId";
     /** 数据源 */
     public static final String DATA_SOURCE_NAME = "dataSourceName";
+    /** 上下文数据来源,true-从url获取,false-从head获取 */
+    public static final String PERSAGY_COMMON_AUTH_CONTEXT_SOURCE = "persagy.common.auth.context.source";
 
     /** 工厂对象 */
     private static IAppContextFactory factory = null;

+ 4 - 0
dmp-comp/dmp-auth-starter/pom.xml

@@ -13,6 +13,10 @@
     <dependencies>
         <dependency>
             <groupId>com.persagy</groupId>
+            <artifactId>integrated-log-spring-boot-starter</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.persagy</groupId>
             <artifactId>dmp-common</artifactId>
         </dependency>
         <dependency>

dmp-comp/dmp-auth/src/main/java/com/persagy/dmp/auth/aspect/RequestLogAspect.java → dmp-comp/dmp-auth-starter/src/main/java/com/persagy/dmp/auth/aspect/RequestLogAspect.java


dmp-comp/dmp-auth/src/main/java/com/persagy/dmp/auth/config/CommonWebConfigurer.java → dmp-comp/dmp-auth-starter/src/main/java/com/persagy/dmp/auth/config/CommonWebConfigurer.java


+ 22 - 4
dmp-comp/dmp-auth-starter/src/main/java/com/persagy/dmp/auth/service/impl/AbstractAuthServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
 import com.persagy.dmp.auth.service.AuthService;
 import com.persagy.dmp.common.constant.CommonConstant;
 import com.persagy.dmp.common.context.AppContext;
+import com.persagy.dmp.common.helper.SpringHelper;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -43,10 +44,27 @@ public abstract class AbstractAuthServiceImpl implements AuthService {
      */
     protected void loadContextByRequest(HttpServletRequest request) {
         AppContext context = AppContext.getContext();
-        context.setGroupCode(request.getParameter(AppContext.GROUP_CODE));
-        context.setProjectId(request.getParameter(AppContext.PROJECT_ID));
-        context.setAppId(request.getParameter(AppContext.APP_ID));
-        context.setAccountId(request.getParameter("userId"));
+        if (SpringHelper.getBoolean(AppContext.PERSAGY_COMMON_AUTH_CONTEXT_SOURCE,true)){
+            context.setGroupCode(request.getParameter(AppContext.GROUP_CODE));
+            context.setProjectId(request.getParameter(AppContext.PROJECT_ID));
+            context.setAppId(request.getParameter(AppContext.APP_ID));
+            context.setAccountId(request.getParameter(AppContext.USER_ID));
+        }else {
+            context.setGroupCode(request.getHeader(AppContext.GROUP_CODE));
+            context.setProjectId(request.getHeader(AppContext.PROJECT_ID));
+            context.setAppId(request.getHeader(AppContext.APP_ID));
+            context.setAccountId(request.getHeader(AppContext.USER_ID));
+            // 无集团编码时,默认为配置的集团编码
+            String groupCode = request.getHeader(AppContext.GROUP_CODE);
+            if(StrUtil.isBlank(groupCode)) {
+                context.setGroupCode(SpringHelper.getString("middleware.group.code"));
+            }
+            // 无项目id时,尝试从请求URL中获取
+            if (StrUtil.isBlank(request.getHeader(AppContext.PROJECT_ID))
+                    && StrUtil.isNotBlank(request.getParameter(CommonConstant.QUERY_PROJECTID))){
+                context.setProjectId(request.getParameter(CommonConstant.QUERY_PROJECTID));
+            }
+        }
         // 无用户时,默认为默认系统用户
         if(StrUtil.isBlank(context.getAccountId())) {
             context.setAccountId(CommonConstant.DEFAULT_ID);

dmp-comp/dmp-auth/src/main/java/com/persagy/dmp/auth/service/impl/BossAuthServiceImpl.java → dmp-comp/dmp-auth-starter/src/main/java/com/persagy/dmp/auth/service/impl/BossAuthServiceImpl.java


dmp-comp/dmp-auth/src/main/java/com/persagy/dmp/auth/service/impl/EmsAuthServiceImpl.java → dmp-comp/dmp-auth-starter/src/main/java/com/persagy/dmp/auth/service/impl/EmsAuthServiceImpl.java


dmp-comp/dmp-auth/src/main/java/com/persagy/dmp/auth/service/impl/NoneAuthServiceImpl.java → dmp-comp/dmp-auth-starter/src/main/java/com/persagy/dmp/auth/service/impl/NoneAuthServiceImpl.java


+ 0 - 19
dmp-comp/dmp-auth/README.md

@@ -1,19 +0,0 @@
-登录认证
-============ 
-请求日志处理切面
-上下文拦截器
-
-说明
----------------
-配置说明
-persagy.common.auth.channel=-1
-. -1: 不鉴权【默认】 - 直接从HEAD中获取上下文信息
-. 1: 运维平台2.0   - 从head中获取上下文信息,并校验集团、项目是否有效
-. 2: BOSS         - 校验token,并从token中获取上下文信息
-```
-
-```
-
-最新变化
----------------
-

+ 0 - 25
dmp-comp/dmp-auth/pom.xml

@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>dmp-comp</artifactId>
-        <groupId>com.persagy</groupId>
-        <version>1.0.0</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>dmp-auth</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.persagy</groupId>
-            <artifactId>integrated-log-spring-boot-starter</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.persagy</groupId>
-            <artifactId>dmp-auth-starter</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-    </dependencies>
-    
-</project>

+ 0 - 1
dmp-comp/pom.xml

@@ -18,7 +18,6 @@
         <module>dmp-file-starter</module>
         <module>dmp-digital-starter</module>
         <module>dmp-amqp-starter</module>
-        <module>dmp-auth</module>
         <module>dmp-auth-starter</module>
     </modules>
 

+ 1 - 1
dmp-parent/pom.xml

@@ -100,7 +100,7 @@
             </dependency>
             <dependency>
                 <groupId>com.persagy</groupId>
-                <artifactId>dmp-auth</artifactId>
+                <artifactId>dmp-auth-starter</artifactId>
                 <version>${dmp.version}</version>
             </dependency>
             <dependency>

+ 1 - 1
dmp-server/pom.xml

@@ -30,7 +30,7 @@
         </dependency>
         <dependency>
             <groupId>com.persagy</groupId>
-            <artifactId>dmp-auth</artifactId>
+            <artifactId>dmp-auth-starter</artifactId>
         </dependency>
     </dependencies>
 </project>