Hu Jie 7 лет назад
Родитель
Сommit
902fea2474
1 измененных файлов с 21 добавлено и 4 удалено
  1. 21 4
      src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java

+ 21 - 4
src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java

@@ -35,6 +35,8 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -166,6 +168,25 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
         if (user != null) {
             SystemSession.setUser(user);
             accessDecision(request, user);
+            accessAdmin(request,user);
+        }
+    }
+
+    /**
+     * admin权限验证
+     */
+    private void accessAdmin(HttpServletRequest request,User user) {
+        if (!user.getEnterprise().getUu().toString().equals(enUU) && request.getServletPath().equals("/admin")) {
+            //throw new AccessDeniedException("无法访问,您没有权限!");
+            HttpServletResponse response = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getResponse();
+            try {
+                response.setHeader("Content-type", "text/html;charset=UTF-8");
+                response.getWriter().write("您没有管理权限,请联系优软商城");
+            } catch (IOException e) {
+
+            }
+            throw new AccessDeniedException("无法访问,您没有权限!");
+
         }
     }
 
@@ -203,7 +224,6 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
         }
         // 暂时在正式 过滤admin访问权限
         if (needPermission != null) {
-            if ("dev".equals(profile)) {
                 if (!user.getEnterprise().getUu().toString().equals(enUU)) {
                     throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
                 } else {
@@ -213,9 +233,6 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
                         }
                     }
                 }
-            } else {
-                throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
-            }
         }
     }