|
@@ -89,7 +89,7 @@ public class CheckPermitAspect {
|
|
|
@Before("checkCooperationPermit()")
|
|
@Before("checkCooperationPermit()")
|
|
|
public void doBefore(JoinPoint joinPoint) throws Exception {
|
|
public void doBefore(JoinPoint joinPoint) throws Exception {
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
|
-
|
|
|
|
|
|
|
+ String requestURI = request.getRequestURI();
|
|
|
String num = WebUtil.getParameter("num", joinPoint, request);
|
|
String num = WebUtil.getParameter("num", joinPoint, request);
|
|
|
if(StrUtil.isEmpty(num)){
|
|
if(StrUtil.isEmpty(num)){
|
|
|
throw new BusinessException(ErrorCode.PARAM_REQUIRED);
|
|
throw new BusinessException(ErrorCode.PARAM_REQUIRED);
|
|
@@ -97,7 +97,8 @@ public class CheckPermitAspect {
|
|
|
|
|
|
|
|
// 读取session中的用户
|
|
// 读取session中的用户
|
|
|
SSOUser user = ssoLoginHelper.getSsoUser(request.getHeader("token"));
|
|
SSOUser user = ssoLoginHelper.getSsoUser(request.getHeader("token"));
|
|
|
- if(CollUtil.isEmpty(demoSceneNums) || !demoSceneNums.contains(num)){//非demo场景,需要检验登录用户是否为空
|
|
|
|
|
|
|
+ boolean pass = this.demoScenePassPai(num, requestURI);
|
|
|
|
|
+ if(!pass){//非demo场景,需要检验登录用户是否为空
|
|
|
if(Objects.isNull(user)){
|
|
if(Objects.isNull(user)){
|
|
|
throw new BusinessException(ErrorCode.TOKEN_NOT_FOUND);
|
|
throw new BusinessException(ErrorCode.TOKEN_NOT_FOUND);
|
|
|
}
|
|
}
|
|
@@ -125,13 +126,9 @@ public class CheckPermitAspect {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(CollUtil.isNotEmpty(demoSceneNums) && demoSceneNums.contains(num)){//这是一个demo场景,允许无条件打开编辑页,但是不允许提交数据
|
|
|
|
|
- String requestURI = request.getRequestURI();
|
|
|
|
|
- for (String demoAllowApi : demoAllowApis) {
|
|
|
|
|
- if(requestURI.contains(demoAllowApi)){
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ //这是一个demo场景,允许无条件打开编辑页,但是不允许提交数据
|
|
|
|
|
+ if(pass){
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//走到这里代表是用户账号密码登录,如果查到的场景的userid是空,证明相机解绑了,需要返回无权操作
|
|
//走到这里代表是用户账号密码登录,如果查到的场景的userid是空,证明相机解绑了,需要返回无权操作
|
|
@@ -152,4 +149,17 @@ public class CheckPermitAspect {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private boolean demoScenePassPai(String num, String uri){
|
|
|
|
|
+ //校验场景码是否是demo场景
|
|
|
|
|
+ if(CollUtil.isEmpty(demoSceneNums) && !demoSceneNums.contains(num)){
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ for (String demoAllowApi : demoAllowApis) {
|
|
|
|
|
+ if(uri.contains(demoAllowApi)){
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|