From 179c4d64313c9b7572778da4aaaf6c6584fe457d Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 20 五月 2025 23:48:08 +0800
Subject: [PATCH] 修改文件上传类型限制

---
 springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/manager/RoleAccessDecisionManager.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/manager/RoleAccessDecisionManager.java b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/manager/RoleAccessDecisionManager.java
new file mode 100644
index 0000000..cce33f9
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/manager/RoleAccessDecisionManager.java
@@ -0,0 +1,57 @@
+package com.panzhihua.zuul.manager;
+
+import java.util.Collection;
+
+import org.springframework.security.access.AccessDecisionManager;
+import org.springframework.security.access.AccessDeniedException;
+import org.springframework.security.access.ConfigAttribute;
+import org.springframework.security.authentication.InsufficientAuthenticationException;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.stereotype.Component;
+
+/**
+ * @program: springcloud_k8s_panzhihuazhihuishequ
+ * @description: 权限判断
+ * @author: huang.hongfa weixin hhf9596 qq 959656820
+ * @create: 2020-11-25 16:19
+ **/
+@Component
+public class RoleAccessDecisionManager implements AccessDecisionManager {
+    /**
+     * decide 方法是判定是否拥有权限的决策方法,
+     * 
+     * @param authentication
+     *            当前用户的信息
+     * @param o
+     *            包含客户端发起的请求的requset信息
+     * @param collection
+     *            当前路径对应的权限
+     * @throws AccessDeniedException
+     *             无权限
+     * @throws InsufficientAuthenticationException
+     */
+    @Override
+    public void decide(Authentication authentication, Object o, Collection<ConfigAttribute> collection)
+        throws AccessDeniedException, InsufficientAuthenticationException {
+        Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
+        for (GrantedAuthority authority : authorities) {
+            for (ConfigAttribute c : collection) {
+                if (c.getAttribute().equals(authority.getAuthority())) {
+                    return;
+                }
+            }
+        }
+        throw new AccessDeniedException("当前访问没有权限");
+    }
+
+    @Override
+    public boolean supports(ConfigAttribute configAttribute) {
+        return false;
+    }
+
+    @Override
+    public boolean supports(Class<?> aClass) {
+        return false;
+    }
+}

--
Gitblit v1.7.1