1 package com.supwisdom.institute.backend.admin.bff.security.web.access;
3 import java.util.Collection;
4 import java.util.Iterator;
6 import org.springframework.security.access.AccessDecisionManager;
7 import org.springframework.security.access.AccessDeniedException;
8 import org.springframework.security.access.ConfigAttribute;
9 import org.springframework.security.authentication.InsufficientAuthenticationException;
10 import org.springframework.security.core.Authentication;
11 import org.springframework.security.core.GrantedAuthority;
13 public class MyAccessDecisionManager implements AccessDecisionManager {
16 public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes)
17 throws AccessDeniedException, InsufficientAuthenticationException {
19 if (null == configAttributes || configAttributes.size() <= 0) {
25 for (Iterator<ConfigAttribute> iter = configAttributes.iterator(); iter.hasNext();) {
27 needRole = ca.getAttribute();
28 for (GrantedAuthority ga : authentication.getAuthorities()) { // authentication 为在注释1 中循环添加到 GrantedAuthority 对象中的权限信息集合
29 if (needRole.trim().equals(ga.getAuthority())) {
35 throw new AccessDeniedException("no right");
39 public boolean supports(ConfigAttribute attribute) {
44 public boolean supports(Class<?> clazz) {