mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-07-09 11:53:30 +00:00
AuthorityAuthorizationManager->AuthorityReactiveAuthorizationManager
Issue gh-4615
This commit is contained in:
parent
d840090cb0
commit
866ce5eaec
@ -21,7 +21,7 @@ import org.springframework.http.HttpMethod;
|
|||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.security.authentication.ReactiveAuthenticationManager;
|
import org.springframework.security.authentication.ReactiveAuthenticationManager;
|
||||||
import org.springframework.security.authorization.AuthenticatedAuthorizationManager;
|
import org.springframework.security.authorization.AuthenticatedAuthorizationManager;
|
||||||
import org.springframework.security.authorization.AuthorityAuthorizationManager;
|
import org.springframework.security.authorization.AuthorityReactiveAuthorizationManager;
|
||||||
import org.springframework.security.authorization.AuthorizationDecision;
|
import org.springframework.security.authorization.AuthorizationDecision;
|
||||||
import org.springframework.security.authorization.ReactiveAuthorizationManager;
|
import org.springframework.security.authorization.ReactiveAuthorizationManager;
|
||||||
import org.springframework.security.web.server.AuthenticationEntryPoint;
|
import org.springframework.security.web.server.AuthenticationEntryPoint;
|
||||||
@ -293,11 +293,11 @@ public class HttpSecurity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public AuthorizeExchangeBuilder hasRole(String role) {
|
public AuthorizeExchangeBuilder hasRole(String role) {
|
||||||
return access(AuthorityAuthorizationManager.hasRole(role));
|
return access(AuthorityReactiveAuthorizationManager.hasRole(role));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AuthorizeExchangeBuilder hasAuthority(String authority) {
|
public AuthorizeExchangeBuilder hasAuthority(String authority) {
|
||||||
return access(AuthorityAuthorizationManager.hasAuthority(authority));
|
return access(AuthorityReactiveAuthorizationManager.hasAuthority(authority));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AuthorizeExchangeBuilder authenticated() {
|
public AuthorizeExchangeBuilder authenticated() {
|
||||||
|
@ -24,10 +24,10 @@ import reactor.core.publisher.Mono;
|
|||||||
* @author Rob Winch
|
* @author Rob Winch
|
||||||
* @since 5.0
|
* @since 5.0
|
||||||
*/
|
*/
|
||||||
public class AuthorityAuthorizationManager<T> implements ReactiveAuthorizationManager<T> {
|
public class AuthorityReactiveAuthorizationManager<T> implements ReactiveAuthorizationManager<T> {
|
||||||
private final String authority;
|
private final String authority;
|
||||||
|
|
||||||
private AuthorityAuthorizationManager(String authority) {
|
private AuthorityReactiveAuthorizationManager(String authority) {
|
||||||
this.authority = authority;
|
this.authority = authority;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,12 +42,12 @@ public class AuthorityAuthorizationManager<T> implements ReactiveAuthorizationMa
|
|||||||
.defaultIfEmpty(new AuthorizationDecision(false));
|
.defaultIfEmpty(new AuthorizationDecision(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> AuthorityAuthorizationManager<T> hasAuthority(String authority) {
|
public static <T> AuthorityReactiveAuthorizationManager<T> hasAuthority(String authority) {
|
||||||
Assert.notNull(authority, "authority cannot be null");
|
Assert.notNull(authority, "authority cannot be null");
|
||||||
return new AuthorityAuthorizationManager<>(authority);
|
return new AuthorityReactiveAuthorizationManager<>(authority);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> AuthorityAuthorizationManager<T> hasRole(String role) {
|
public static <T> AuthorityReactiveAuthorizationManager<T> hasRole(String role) {
|
||||||
Assert.notNull(role, "role cannot be null");
|
Assert.notNull(role, "role cannot be null");
|
||||||
return hasAuthority("ROLE_" + role);
|
return hasAuthority("ROLE_" + role);
|
||||||
}
|
}
|
@ -22,28 +22,25 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.junit.MockitoJUnitRunner;
|
import org.mockito.junit.MockitoJUnitRunner;
|
||||||
import org.springframework.security.authentication.TestingAuthenticationToken;
|
import org.springframework.security.authentication.TestingAuthenticationToken;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
|
||||||
import org.springframework.security.core.authority.AuthorityUtils;
|
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
import reactor.test.StepVerifier;
|
import reactor.test.StepVerifier;
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
import static org.springframework.security.core.authority.AuthorityUtils.createAuthorityList;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rob Winch
|
* @author Rob Winch
|
||||||
* @since 5.0
|
* @since 5.0
|
||||||
*/
|
*/
|
||||||
@RunWith(MockitoJUnitRunner.class)
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
public class AuthorityAuthorizationManagerTests {
|
public class AuthorityReactiveAuthorizationManagerTests {
|
||||||
@Mock
|
@Mock
|
||||||
Authentication authentication;
|
Authentication authentication;
|
||||||
|
|
||||||
AuthorityAuthorizationManager<Object> manager = AuthorityAuthorizationManager.hasAuthority("ADMIN");
|
AuthorityReactiveAuthorizationManager<Object> manager = AuthorityReactiveAuthorizationManager
|
||||||
|
.hasAuthority("ADMIN");
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkWhenHasAuthorityAndNotAuthenticatedThenReturnFalse() {
|
public void checkWhenHasAuthorityAndNotAuthenticatedThenReturnFalse() {
|
||||||
@ -99,7 +96,7 @@ public class AuthorityAuthorizationManagerTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkWhenHasRoleAndAuthorizedThenReturnTrue() {
|
public void checkWhenHasRoleAndAuthorizedThenReturnTrue() {
|
||||||
manager = AuthorityAuthorizationManager.hasRole("ADMIN");
|
manager = AuthorityReactiveAuthorizationManager.hasRole("ADMIN");
|
||||||
authentication = new TestingAuthenticationToken("rob", "secret", "ROLE_ADMIN");
|
authentication = new TestingAuthenticationToken("rob", "secret", "ROLE_ADMIN");
|
||||||
|
|
||||||
boolean granted = manager.check(Mono.just(authentication), null).block().isGranted();
|
boolean granted = manager.check(Mono.just(authentication), null).block().isGranted();
|
||||||
@ -109,7 +106,7 @@ public class AuthorityAuthorizationManagerTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkWhenHasRoleAndNotAuthorizedThenReturnTrue() {
|
public void checkWhenHasRoleAndNotAuthorizedThenReturnTrue() {
|
||||||
manager = AuthorityAuthorizationManager.hasRole("ADMIN");
|
manager = AuthorityReactiveAuthorizationManager.hasRole("ADMIN");
|
||||||
authentication = new TestingAuthenticationToken("rob", "secret", "ADMIN");
|
authentication = new TestingAuthenticationToken("rob", "secret", "ADMIN");
|
||||||
|
|
||||||
boolean granted = manager.check(Mono.just(authentication), null).block().isGranted();
|
boolean granted = manager.check(Mono.just(authentication), null).block().isGranted();
|
||||||
@ -120,12 +117,12 @@ public class AuthorityAuthorizationManagerTests {
|
|||||||
@Test(expected = IllegalArgumentException.class)
|
@Test(expected = IllegalArgumentException.class)
|
||||||
public void hasRoleWhenNullThenException() {
|
public void hasRoleWhenNullThenException() {
|
||||||
String role = null;
|
String role = null;
|
||||||
AuthorityAuthorizationManager.hasRole(role);
|
AuthorityReactiveAuthorizationManager.hasRole(role);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = IllegalArgumentException.class)
|
@Test(expected = IllegalArgumentException.class)
|
||||||
public void hasAuthorityWhenNullThenException() {
|
public void hasAuthorityWhenNullThenException() {
|
||||||
String authority = null;
|
String authority = null;
|
||||||
AuthorityAuthorizationManager.hasAuthority(authority);
|
AuthorityReactiveAuthorizationManager.hasAuthority(authority);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -21,7 +21,7 @@ import org.junit.Test;
|
|||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.junit.MockitoJUnitRunner;
|
import org.mockito.junit.MockitoJUnitRunner;
|
||||||
import org.springframework.security.authorization.AuthorityAuthorizationManager;
|
import org.springframework.security.authorization.AuthorityReactiveAuthorizationManager;
|
||||||
import org.springframework.security.authorization.AuthorizationDecision;
|
import org.springframework.security.authorization.AuthorizationDecision;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatcher;
|
import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatcher;
|
||||||
@ -45,10 +45,8 @@ public class DelegatingReactiveAuthorizationManagerTests {
|
|||||||
ServerWebExchangeMatcher match1;
|
ServerWebExchangeMatcher match1;
|
||||||
@Mock
|
@Mock
|
||||||
ServerWebExchangeMatcher match2;
|
ServerWebExchangeMatcher match2;
|
||||||
@Mock
|
@Mock AuthorityReactiveAuthorizationManager<AuthorizationContext> delegate1;
|
||||||
AuthorityAuthorizationManager<AuthorizationContext> delegate1;
|
@Mock AuthorityReactiveAuthorizationManager<AuthorizationContext> delegate2;
|
||||||
@Mock
|
|
||||||
AuthorityAuthorizationManager<AuthorizationContext> delegate2;
|
|
||||||
@Mock
|
@Mock
|
||||||
ServerWebExchange exchange;
|
ServerWebExchange exchange;
|
||||||
@Mock
|
@Mock
|
||||||
|
Loading…
x
Reference in New Issue
Block a user