|
@@ -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);
|