|
@@ -20,6 +20,8 @@ import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.function.Supplier;
|
|
|
|
|
|
+import org.jspecify.annotations.Nullable;
|
|
|
+
|
|
|
import org.springframework.security.core.Authentication;
|
|
|
|
|
|
/**
|
|
@@ -58,7 +60,7 @@ public final class AuthorizationManagers {
|
|
|
@SafeVarargs
|
|
|
public static <T> AuthorizationManager<T> anyOf(AuthorizationDecision allAbstainDefaultDecision,
|
|
|
AuthorizationManager<T>... managers) {
|
|
|
- return (AuthorizationManagerCheckAdapter<T>) (authentication, object) -> {
|
|
|
+ return (AuthorizationManagerCheckAdapter<T>) (Supplier<@Nullable Authentication> authentication, T object) -> {
|
|
|
List<AuthorizationResult> results = new ArrayList<>();
|
|
|
for (AuthorizationManager<T> manager : managers) {
|
|
|
AuthorizationResult result = manager.authorize(authentication, object);
|
|
@@ -104,7 +106,7 @@ public final class AuthorizationManagers {
|
|
|
@SafeVarargs
|
|
|
public static <T> AuthorizationManager<T> allOf(AuthorizationDecision allAbstainDefaultDecision,
|
|
|
AuthorizationManager<T>... managers) {
|
|
|
- return (AuthorizationManagerCheckAdapter<T>) (authentication, object) -> {
|
|
|
+ return (AuthorizationManagerCheckAdapter<T>) (Supplier<@Nullable Authentication> authentication, T object) -> {
|
|
|
List<AuthorizationResult> results = new ArrayList<>();
|
|
|
for (AuthorizationManager<T> manager : managers) {
|
|
|
AuthorizationResult result = manager.authorize(authentication, object);
|
|
@@ -133,7 +135,7 @@ public final class AuthorizationManagers {
|
|
|
* @since 6.3
|
|
|
*/
|
|
|
public static <T> AuthorizationManager<T> not(AuthorizationManager<T> manager) {
|
|
|
- return (authentication, object) -> {
|
|
|
+ return (Supplier<@Nullable Authentication> authentication, T object) -> {
|
|
|
AuthorizationResult result = manager.authorize(authentication, object);
|
|
|
if (result == null) {
|
|
|
return null;
|
|
@@ -182,7 +184,7 @@ public final class AuthorizationManagers {
|
|
|
private interface AuthorizationManagerCheckAdapter<T> extends AuthorizationManager<T> {
|
|
|
|
|
|
@Override
|
|
|
- AuthorizationResult authorize(Supplier<Authentication> authentication, T object);
|
|
|
+ AuthorizationResult authorize(Supplier<@Nullable Authentication> authentication, T object);
|
|
|
|
|
|
}
|
|
|
|