Browse Source

filter 返回值

limeng 5 months ago
parent
commit
e4c805e938

+ 9 - 5
qmjszx-framework/src/main/java/beilv/framework/shiro/web/filter/wxMiniAppAccessControlFilter/WxMiniAppAccessControlFilter.java

@@ -1,5 +1,6 @@
 package beilv.framework.shiro.web.filter.wxMiniAppAccessControlFilter;
 
+import beilv.common.utils.StringUtils;
 import beilv.common.utils.rsa.RsaUtil;
 import beilv.system.domain.SysMember;
 import beilv.system.mapper.SysMemberMapper;
@@ -30,13 +31,15 @@ public class WxMiniAppAccessControlFilter extends AccessControlFilter {
     }
 
     @Override
-    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue){
+    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception {
         HttpServletRequest httpRequest = (HttpServletRequest) request;
         // 这里可以添加你的自定义验证逻辑
         String token = httpRequest.getHeader("accessToken");
         // 验证 token,返回 true 表示允许访问
-        if (token == null && isValidToken(token)) {
-            throw exception(USER_NOT_EXISTS);// 默认不允许访问
+        if (null == token || !isValidToken(token)) {
+//            throw new Exception("123123123");// 默认不允许访问
+            response.getWriter().write("{\"message\": \"false!\"}");
+            return false;
         } else {
             return true;
         }
@@ -53,14 +56,15 @@ public class WxMiniAppAccessControlFilter extends AccessControlFilter {
 
     private boolean isValidToken(String token){
         // 在这里实现你的 token 验证逻辑
-        String str = null;
+        String str;
         try {
             str = RsaUtil.decrypt(token, privateKey);
             //根据userId从数据库中查询用户信息,判断用户是否存在,如果不存在,则返回false,表示拒绝访问;如果存在,则返回true,表示放行访问
             SysMember sysMember = sysMemberMapper.selectSysMemberById(Long.parseLong(str));
             return ObjectUtils.isNotEmpty(sysMember);
         } catch (Exception e) {
-            throw new RuntimeException(e);
+            e.printStackTrace();
+            return false;
         }
     }