Parcourir la source

修复权限判断无效

zhouhao il y a 7 ans
Parent
commit
bd8ff547a7

+ 7 - 1
hsweb-authorization/hsweb-authorization-shiro/src/main/java/org/hswebframework/web/authorization/shiro/boost/SimpleAuthorizeMethodInterceptor.java

@@ -100,10 +100,16 @@ public class SimpleAuthorizeMethodInterceptor extends AuthorizingAnnotationMetho
                                     .stream()
                                     .filter(authorizeConfig.action::contains)
                                     .collect(Collectors.toList());
+                            
+                            if (actions.isEmpty()) return false;
+
                             //如果 控制逻辑是or,则只要过滤结果数量不为0.否则过滤结果数量必须和配置的数量相同
                             return logicalIsOr ? actions.size() > 0 : permission.getActions().containsAll(actions);
                         }).collect(Collectors.toList());
-                access = logicalIsOr ? permissions.size() > 0 : permissions.size() == authorizeConfig.permission.size();
+                access = logicalIsOr ?
+                        permissions.size() > 0 :
+                        //权限数量和配置的数量相同
+                        permissions.size() == authorizeConfig.permission.size();
             }
             //控制角色
             if (!authorizeConfig.role.isEmpty()) {