소스 검색

Closes #13754 Add hasScope and hasAnyScope for authorization rules

Mario Petrovski 2 년 전
부모
커밋
81a708e25f
1개의 변경된 파일18개의 추가작업 그리고 0개의 파일을 삭제
  1. 18 0
      oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/ScopeAuthorizationManagerFactory.java

+ 18 - 0
oauth2/oauth2-core/src/main/java/org/springframework/security/oauth2/core/ScopeAuthorizationManagerFactory.java

@@ -0,0 +1,18 @@
+package org.springframework.security.oauth2.core;
+
+
+import org.springframework.security.authorization.AuthorityAuthorizationManager;
+
+import java.util.Arrays;
+
+public class ScopeAuthorizationManagerFactory {
+
+	public static <T> AuthorityAuthorizationManager<T> hasScope(String scope) {
+		return AuthorityAuthorizationManager.hasAuthority("SCOPE_" + scope);
+	}
+
+	public static <T> AuthorityAuthorizationManager<T> hasAnyScope(String... scopes) {
+		String[] mappedScopes = Arrays.stream(scopes).map(s -> "SCOPE_" + s).toArray(String[]::new);
+		return AuthorityAuthorizationManager.hasAnyAuthority(mappedScopes);
+	}
+}