瀏覽代碼

Remove Optional from Reactive HttpSecurity

Rob Winch 8 年之前
父節點
當前提交
51ad53f76a
共有 1 個文件被更改,包括 12 次插入7 次删除
  1. 12 7
      config/src/main/java/org/springframework/security/config/web/server/HttpSecurity.java

+ 12 - 7
config/src/main/java/org/springframework/security/config/web/server/HttpSecurity.java

@@ -68,7 +68,7 @@ public class HttpSecurity {
 	private HttpBasicBuilder httpBasic;
 	private ReactiveAuthenticationManager authenticationManager;
 
-	private Optional<SecurityContextRepository> securityContextRepository = Optional.empty();
+	private SecurityContextRepository securityContextRepository;
 
 	/**
 	 * The ServerExchangeMatcher that determines which requests apply to this HttpSecurity instance.
@@ -92,7 +92,7 @@ public class HttpSecurity {
 
 	public HttpSecurity securityContextRepository(SecurityContextRepository securityContextRepository) {
 		Assert.notNull(securityContextRepository, "securityContextRepository cannot be null");
-		this.securityContextRepository = Optional.of(securityContextRepository);
+		this.securityContextRepository = securityContextRepository;
 		return this;
 	}
 
@@ -124,10 +124,15 @@ public class HttpSecurity {
 		if(headers != null) {
 			filters.add(headers.build());
 		}
-		securityContextRepositoryWebFilter().ifPresent( f-> filters.add(f));
+		SecurityContextRepositoryWebFilter securityContextRepositoryWebFilter = securityContextRepositoryWebFilter();
+		if(securityContextRepositoryWebFilter != null) {
+			filters.add(securityContextRepositoryWebFilter);
+		}
 		if(httpBasic != null) {
 			httpBasic.authenticationManager(authenticationManager);
-			securityContextRepository.ifPresent( scr -> httpBasic.securityContextRepository(scr)) ;
+			if(securityContextRepository != null) {
+				httpBasic.securityContextRepository(securityContextRepository);
+			}
 			filters.add(httpBasic.build());
 		}
 		filters.add(new AuthenticationReactorContextFilter());
@@ -142,9 +147,9 @@ public class HttpSecurity {
 		return new HttpSecurity();
 	}
 
-	private Optional<SecurityContextRepositoryWebFilter> securityContextRepositoryWebFilter() {
-		return securityContextRepository
-			.flatMap( r -> Optional.of(new SecurityContextRepositoryWebFilter(r)));
+	private SecurityContextRepositoryWebFilter securityContextRepositoryWebFilter() {
+		return this.securityContextRepository == null ? null :
+			new SecurityContextRepositoryWebFilter(this.securityContextRepository);
 	}
 
 	public class HttpBasicSpec extends HttpBasicBuilder {