Browse Source

Move spring-security-webflux into spring-security-web

Fixes gh-4662
Rob Winch 7 years ago
parent
commit
b81c1ce2c0
95 changed files with 26 additions and 185 deletions
  1. 3 2
      config/spring-security-config.gradle
  2. 1 1
      samples/javaconfig/hellowebflux-method/spring-security-samples-javaconfig-hellowebflux-method.gradle
  3. 1 1
      samples/javaconfig/hellowebflux/spring-security-samples-javaconfig-hellowebflux.gradle
  4. 1 1
      samples/javaconfig/hellowebfluxfn/spring-security-samples-javaconfig-hellowebfluxfn.gradle
  5. 4 0
      web/spring-security-web.gradle
  6. 0 0
      web/src/main/java/org/springframework/security/web/reactive/result/method/annotation/AuthenticationPrincipalArgumentResolver.java
  7. 0 0
      web/src/main/java/org/springframework/security/web/server/DefaultServerRedirectStrategy.java
  8. 0 0
      web/src/main/java/org/springframework/security/web/server/DelegatingServerAuthenticationEntryPoint.java
  9. 0 0
      web/src/main/java/org/springframework/security/web/server/MatcherSecurityWebFilterChain.java
  10. 0 0
      web/src/main/java/org/springframework/security/web/server/SecurityWebFilterChain.java
  11. 0 0
      web/src/main/java/org/springframework/security/web/server/ServerAuthenticationEntryPoint.java
  12. 0 0
      web/src/main/java/org/springframework/security/web/server/ServerFormLoginAuthenticationConverter.java
  13. 0 0
      web/src/main/java/org/springframework/security/web/server/ServerHttpBasicAuthenticationConverter.java
  14. 0 0
      web/src/main/java/org/springframework/security/web/server/ServerRedirectStrategy.java
  15. 0 0
      web/src/main/java/org/springframework/security/web/server/WebFilterChainProxy.java
  16. 0 0
      web/src/main/java/org/springframework/security/web/server/WebFilterExchange.java
  17. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/AuthenticationWebFilter.java
  18. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/HttpBasicServerAuthenticationEntryPoint.java
  19. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationEntryPoint.java
  20. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationSuccessHandler.java
  21. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/ServerAuthenticationEntryPointFailureHandler.java
  22. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/ServerAuthenticationFailureHandler.java
  23. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/ServerAuthenticationSuccessHandler.java
  24. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/WebFilterChainServerAuthenticationSuccessHandler.java
  25. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/logout/LogoutWebFilter.java
  26. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/logout/RedirectServerLogoutSuccessHandler.java
  27. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/logout/SecurityContextServerLogoutHandler.java
  28. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/logout/ServerLogoutHandler.java
  29. 0 0
      web/src/main/java/org/springframework/security/web/server/authentication/logout/ServerLogoutSuccessHandler.java
  30. 0 0
      web/src/main/java/org/springframework/security/web/server/authorization/AuthorizationContext.java
  31. 0 0
      web/src/main/java/org/springframework/security/web/server/authorization/AuthorizationWebFilter.java
  32. 0 0
      web/src/main/java/org/springframework/security/web/server/authorization/DelegatingReactiveAuthorizationManager.java
  33. 0 0
      web/src/main/java/org/springframework/security/web/server/authorization/ExceptionTranslationWebFilter.java
  34. 0 0
      web/src/main/java/org/springframework/security/web/server/authorization/HttpStatusServerAccessDeniedHandler.java
  35. 0 0
      web/src/main/java/org/springframework/security/web/server/authorization/ServerAccessDeniedHandler.java
  36. 0 0
      web/src/main/java/org/springframework/security/web/server/context/AuthenticationReactorContextWebFilter.java
  37. 0 0
      web/src/main/java/org/springframework/security/web/server/context/SecurityContextRepositoryServerWebExchange.java
  38. 0 0
      web/src/main/java/org/springframework/security/web/server/context/SecurityContextRepositoryWebFilter.java
  39. 0 0
      web/src/main/java/org/springframework/security/web/server/context/ServerSecurityContextRepository.java
  40. 0 0
      web/src/main/java/org/springframework/security/web/server/context/ServerWebExchangeAttributeServerSecurityContextRepository.java
  41. 0 0
      web/src/main/java/org/springframework/security/web/server/context/WebSessionServerSecurityContextRepository.java
  42. 0 0
      web/src/main/java/org/springframework/security/web/server/header/CacheControlServerHttpHeadersWriter.java
  43. 0 0
      web/src/main/java/org/springframework/security/web/server/header/CompositeServerHttpHeadersWriter.java
  44. 0 0
      web/src/main/java/org/springframework/security/web/server/header/ContentTypeOptionsServerHttpHeadersWriter.java
  45. 0 0
      web/src/main/java/org/springframework/security/web/server/header/HttpHeaderWriterWebFilter.java
  46. 0 0
      web/src/main/java/org/springframework/security/web/server/header/ServerHttpHeadersWriter.java
  47. 0 0
      web/src/main/java/org/springframework/security/web/server/header/StaticServerHttpHeadersWriter.java
  48. 0 0
      web/src/main/java/org/springframework/security/web/server/header/StrictTransportSecurityServerHttpHeadersWriter.java
  49. 0 0
      web/src/main/java/org/springframework/security/web/server/header/XContentTypeOptionsServerHttpHeadersWriter.java
  50. 0 0
      web/src/main/java/org/springframework/security/web/server/header/XFrameOptionsServerHttpHeadersWriter.java
  51. 0 0
      web/src/main/java/org/springframework/security/web/server/header/XXssProtectionServerHttpHeadersWriter.java
  52. 0 0
      web/src/main/java/org/springframework/security/web/server/ui/LoginPageGeneratingWebFilter.java
  53. 0 0
      web/src/main/java/org/springframework/security/web/server/util/matcher/AndServerWebExchangeMatcher.java
  54. 16 16
      web/src/main/java/org/springframework/security/web/server/util/matcher/MediaTypeServerWebExchangeMatcher.java
  55. 0 0
      web/src/main/java/org/springframework/security/web/server/util/matcher/OrServerWebExchangeMatcher.java
  56. 0 0
      web/src/main/java/org/springframework/security/web/server/util/matcher/PathPatternParserServerWebExchangeMatcher.java
  57. 0 0
      web/src/main/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatcher.java
  58. 0 0
      web/src/main/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatcherEntry.java
  59. 0 0
      web/src/main/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatchers.java
  60. 0 0
      web/src/test/java/org/springframework/security/test/web/reactive/server/WebTestClientBuilder.java
  61. 0 0
      web/src/test/java/org/springframework/security/test/web/reactive/server/WebTestHandler.java
  62. 0 0
      web/src/test/java/org/springframework/security/web/method/ResolvableMethod.java
  63. 0 0
      web/src/test/java/org/springframework/security/web/reactive/result/method/annotation/AuthenticationPrincipalArgumentResolverTests.java
  64. 0 0
      web/src/test/java/org/springframework/security/web/server/DefaultServerRedirectStrategyTests.java
  65. 0 0
      web/src/test/java/org/springframework/security/web/server/DelegatingServerAuthenticationEntryPointTests.java
  66. 0 0
      web/src/test/java/org/springframework/security/web/server/ServerFormLoginAuthenticationConverterTests.java
  67. 0 0
      web/src/test/java/org/springframework/security/web/server/ServerHttpBasicAuthenticationConverterTests.java
  68. 0 0
      web/src/test/java/org/springframework/security/web/server/WebFilterExchangeTests.java
  69. 0 0
      web/src/test/java/org/springframework/security/web/server/authentication/AuthenticationWebFilterTests.java
  70. 0 0
      web/src/test/java/org/springframework/security/web/server/authentication/HttpBasicServerAuthenticationEntryPointTests.java
  71. 0 0
      web/src/test/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationEntryPointTests.java
  72. 0 0
      web/src/test/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationSuccessHandlerTests.java
  73. 0 0
      web/src/test/java/org/springframework/security/web/server/authentication/ServerAuthenticationEntryPointFailureHandlerTests.java
  74. 0 0
      web/src/test/java/org/springframework/security/web/server/authorization/DelegatingReactiveAuthorizationManagerTests.java
  75. 0 0
      web/src/test/java/org/springframework/security/web/server/authorization/ExceptionTranslationWebFilterTests.java
  76. 0 0
      web/src/test/java/org/springframework/security/web/server/authorization/HttpStatusServerAccessDeniedHandlerTests.java
  77. 0 0
      web/src/test/java/org/springframework/security/web/server/context/AuthenticationReactorContextWebFilterTests.java
  78. 0 0
      web/src/test/java/org/springframework/security/web/server/context/ServerSecurityContextRepositoryWebFilterTests.java
  79. 0 0
      web/src/test/java/org/springframework/security/web/server/context/ServerWebExchangeAttributeServerSecurityContextRepositoryTests.java
  80. 0 0
      web/src/test/java/org/springframework/security/web/server/header/CacheControlServerHttpHeadersWriterTests.java
  81. 0 0
      web/src/test/java/org/springframework/security/web/server/header/CompositeServerHttpHeadersWriterTests.java
  82. 0 0
      web/src/test/java/org/springframework/security/web/server/header/HttpHeaderWriterWebFilterTests.java
  83. 0 0
      web/src/test/java/org/springframework/security/web/server/header/StaticServerHttpHeadersWriterTests.java
  84. 0 0
      web/src/test/java/org/springframework/security/web/server/header/StrictTransportSecurityServerHttpHeadersWriterTests.java
  85. 0 0
      web/src/test/java/org/springframework/security/web/server/header/XContentTypeOptionsServerHttpHeadersWriterTests.java
  86. 0 0
      web/src/test/java/org/springframework/security/web/server/header/XFrameOptionsServerHttpHeadersWriterTests.java
  87. 0 0
      web/src/test/java/org/springframework/security/web/server/header/XXssProtectionServerHttpHeadersWriterTests.java
  88. 0 0
      web/src/test/java/org/springframework/security/web/server/util/matcher/AndServerWebExchangeMatcherTests.java
  89. 0 31
      web/src/test/java/org/springframework/security/web/server/util/matcher/MediaTypeServerWebExchangeMatcherTests.java
  90. 0 0
      web/src/test/java/org/springframework/security/web/server/util/matcher/OrServerWebExchangeMatcherTests.java
  91. 0 0
      web/src/test/java/org/springframework/security/web/server/util/matcher/PathMatcherServerWebExchangeMatcherTests.java
  92. 0 0
      web/src/test/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatchersTests.java
  93. 0 13
      webflux/spring-security-webflux.gradle
  94. 0 105
      webflux/src/integration-test/java/webclient/oauth2/poc/WebClientOAuth2PocTests.java
  95. 0 15
      webflux/src/test/resources/logback-test.xml

+ 3 - 2
config/spring-security-config.gradle

@@ -15,12 +15,13 @@ dependencies {
 	optional project(':spring-security-jwt-jose')
 	optional project(':spring-security-openid')
 	optional project(':spring-security-web')
-	optional project(':spring-security-webflux')
+	optional 'io.projectreactor:reactor-core'
 	optional 'org.aspectj:aspectjweaver'
 	optional 'org.springframework:spring-jdbc'
 	optional 'org.springframework:spring-tx'
 	optional 'org.springframework:spring-webmvc'
 	optional'org.springframework:spring-web'
+	optional'org.springframework:spring-webflux'
 	optional'org.springframework:spring-websocket'
 
 	provided 'javax.servlet:javax.servlet-api'
@@ -28,7 +29,7 @@ dependencies {
 	testCompile project(':spring-security-aspects')
 	testCompile project(':spring-security-cas')
 	testCompile project(path : ':spring-security-core', configuration : 'tests')
-	testCompile project(path : ':spring-security-webflux', configuration : 'tests')
+	testCompile project(path : ':spring-security-web', configuration : 'tests')
 	testCompile apachedsDependencies
 	testCompile powerMock2Dependencies
 	testCompile spockDependencies

+ 1 - 1
samples/javaconfig/hellowebflux-method/spring-security-samples-javaconfig-hellowebflux-method.gradle

@@ -3,7 +3,7 @@ apply plugin: 'io.spring.convention.spring-sample'
 dependencies {
 	compile project(':spring-security-core')
 	compile project(':spring-security-config')
-	compile project(':spring-security-webflux')
+	compile project(':spring-security-web')
 	compile 'com.fasterxml.jackson.core:jackson-databind'
 	compile 'io.netty:netty-buffer'
 	compile 'io.projectreactor.ipc:reactor-netty'

+ 1 - 1
samples/javaconfig/hellowebflux/spring-security-samples-javaconfig-hellowebflux.gradle

@@ -3,7 +3,7 @@ apply plugin: 'io.spring.convention.spring-sample'
 dependencies {
 	compile project(':spring-security-core')
 	compile project(':spring-security-config')
-	compile project(':spring-security-webflux')
+	compile project(':spring-security-web')
 	compile 'com.fasterxml.jackson.core:jackson-databind'
 	compile 'io.netty:netty-buffer'
 	compile 'io.projectreactor.ipc:reactor-netty'

+ 1 - 1
samples/javaconfig/hellowebfluxfn/spring-security-samples-javaconfig-hellowebfluxfn.gradle

@@ -3,7 +3,7 @@ apply plugin: 'io.spring.convention.spring-sample'
 dependencies {
 	compile project(':spring-security-core')
 	compile project(':spring-security-config')
-	compile project(':spring-security-webflux')
+	compile project(':spring-security-web')
 	compile 'com.fasterxml.jackson.core:jackson-databind'
 	compile 'io.netty:netty-buffer'
 	compile 'io.projectreactor.ipc:reactor-netty'

+ 4 - 0
web/spring-security-web.gradle

@@ -10,16 +10,20 @@ dependencies {
 	compile 'org.springframework:spring-web'
 
 	optional 'com.fasterxml.jackson.core:jackson-databind'
+	optional 'io.projectreactor:reactor-core'
 	optional 'org.springframework:spring-jdbc'
 	optional 'org.springframework:spring-tx'
+	optional 'org.springframework:spring-webflux'
 	optional 'org.springframework:spring-webmvc'
 
 	provided 'javax.servlet:javax.servlet-api'
 
 	testCompile project(path: ':spring-security-core', configuration: 'tests')
 	testCompile 'commons-codec:commons-codec'
+	testCompile 'io.projectreactor:reactor-test'
 	testCompile 'org.codehaus.groovy:groovy-all'
 	testCompile 'org.skyscreamer:jsonassert'
+	testCompile 'org.springframework:spring-webflux'
 	testCompile powerMock2Dependencies
 	testCompile spockDependencies
 	testCompile slf4jDependencies

+ 0 - 0
webflux/src/main/java/org/springframework/security/web/reactive/result/method/annotation/AuthenticationPrincipalArgumentResolver.java → web/src/main/java/org/springframework/security/web/reactive/result/method/annotation/AuthenticationPrincipalArgumentResolver.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/DefaultServerRedirectStrategy.java → web/src/main/java/org/springframework/security/web/server/DefaultServerRedirectStrategy.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/DelegatingServerAuthenticationEntryPoint.java → web/src/main/java/org/springframework/security/web/server/DelegatingServerAuthenticationEntryPoint.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/MatcherSecurityWebFilterChain.java → web/src/main/java/org/springframework/security/web/server/MatcherSecurityWebFilterChain.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/SecurityWebFilterChain.java → web/src/main/java/org/springframework/security/web/server/SecurityWebFilterChain.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/ServerAuthenticationEntryPoint.java → web/src/main/java/org/springframework/security/web/server/ServerAuthenticationEntryPoint.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/ServerFormLoginAuthenticationConverter.java → web/src/main/java/org/springframework/security/web/server/ServerFormLoginAuthenticationConverter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/ServerHttpBasicAuthenticationConverter.java → web/src/main/java/org/springframework/security/web/server/ServerHttpBasicAuthenticationConverter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/ServerRedirectStrategy.java → web/src/main/java/org/springframework/security/web/server/ServerRedirectStrategy.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/WebFilterChainProxy.java → web/src/main/java/org/springframework/security/web/server/WebFilterChainProxy.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/WebFilterExchange.java → web/src/main/java/org/springframework/security/web/server/WebFilterExchange.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/AuthenticationWebFilter.java → web/src/main/java/org/springframework/security/web/server/authentication/AuthenticationWebFilter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/HttpBasicServerAuthenticationEntryPoint.java → web/src/main/java/org/springframework/security/web/server/authentication/HttpBasicServerAuthenticationEntryPoint.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationEntryPoint.java → web/src/main/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationEntryPoint.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationSuccessHandler.java → web/src/main/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationSuccessHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/ServerAuthenticationEntryPointFailureHandler.java → web/src/main/java/org/springframework/security/web/server/authentication/ServerAuthenticationEntryPointFailureHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/ServerAuthenticationFailureHandler.java → web/src/main/java/org/springframework/security/web/server/authentication/ServerAuthenticationFailureHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/ServerAuthenticationSuccessHandler.java → web/src/main/java/org/springframework/security/web/server/authentication/ServerAuthenticationSuccessHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/WebFilterChainServerAuthenticationSuccessHandler.java → web/src/main/java/org/springframework/security/web/server/authentication/WebFilterChainServerAuthenticationSuccessHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/logout/LogoutWebFilter.java → web/src/main/java/org/springframework/security/web/server/authentication/logout/LogoutWebFilter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/logout/RedirectServerLogoutSuccessHandler.java → web/src/main/java/org/springframework/security/web/server/authentication/logout/RedirectServerLogoutSuccessHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/logout/SecurityContextServerLogoutHandler.java → web/src/main/java/org/springframework/security/web/server/authentication/logout/SecurityContextServerLogoutHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/logout/ServerLogoutHandler.java → web/src/main/java/org/springframework/security/web/server/authentication/logout/ServerLogoutHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authentication/logout/ServerLogoutSuccessHandler.java → web/src/main/java/org/springframework/security/web/server/authentication/logout/ServerLogoutSuccessHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authorization/AuthorizationContext.java → web/src/main/java/org/springframework/security/web/server/authorization/AuthorizationContext.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authorization/AuthorizationWebFilter.java → web/src/main/java/org/springframework/security/web/server/authorization/AuthorizationWebFilter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authorization/DelegatingReactiveAuthorizationManager.java → web/src/main/java/org/springframework/security/web/server/authorization/DelegatingReactiveAuthorizationManager.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authorization/ExceptionTranslationWebFilter.java → web/src/main/java/org/springframework/security/web/server/authorization/ExceptionTranslationWebFilter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authorization/HttpStatusServerAccessDeniedHandler.java → web/src/main/java/org/springframework/security/web/server/authorization/HttpStatusServerAccessDeniedHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/authorization/ServerAccessDeniedHandler.java → web/src/main/java/org/springframework/security/web/server/authorization/ServerAccessDeniedHandler.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/context/AuthenticationReactorContextWebFilter.java → web/src/main/java/org/springframework/security/web/server/context/AuthenticationReactorContextWebFilter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/context/SecurityContextRepositoryServerWebExchange.java → web/src/main/java/org/springframework/security/web/server/context/SecurityContextRepositoryServerWebExchange.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/context/SecurityContextRepositoryWebFilter.java → web/src/main/java/org/springframework/security/web/server/context/SecurityContextRepositoryWebFilter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/context/ServerSecurityContextRepository.java → web/src/main/java/org/springframework/security/web/server/context/ServerSecurityContextRepository.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/context/ServerWebExchangeAttributeServerSecurityContextRepository.java → web/src/main/java/org/springframework/security/web/server/context/ServerWebExchangeAttributeServerSecurityContextRepository.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/context/WebSessionServerSecurityContextRepository.java → web/src/main/java/org/springframework/security/web/server/context/WebSessionServerSecurityContextRepository.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/header/CacheControlServerHttpHeadersWriter.java → web/src/main/java/org/springframework/security/web/server/header/CacheControlServerHttpHeadersWriter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/header/CompositeServerHttpHeadersWriter.java → web/src/main/java/org/springframework/security/web/server/header/CompositeServerHttpHeadersWriter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/header/ContentTypeOptionsServerHttpHeadersWriter.java → web/src/main/java/org/springframework/security/web/server/header/ContentTypeOptionsServerHttpHeadersWriter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/header/HttpHeaderWriterWebFilter.java → web/src/main/java/org/springframework/security/web/server/header/HttpHeaderWriterWebFilter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/header/ServerHttpHeadersWriter.java → web/src/main/java/org/springframework/security/web/server/header/ServerHttpHeadersWriter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/header/StaticServerHttpHeadersWriter.java → web/src/main/java/org/springframework/security/web/server/header/StaticServerHttpHeadersWriter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/header/StrictTransportSecurityServerHttpHeadersWriter.java → web/src/main/java/org/springframework/security/web/server/header/StrictTransportSecurityServerHttpHeadersWriter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/header/XContentTypeOptionsServerHttpHeadersWriter.java → web/src/main/java/org/springframework/security/web/server/header/XContentTypeOptionsServerHttpHeadersWriter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/header/XFrameOptionsServerHttpHeadersWriter.java → web/src/main/java/org/springframework/security/web/server/header/XFrameOptionsServerHttpHeadersWriter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/header/XXssProtectionServerHttpHeadersWriter.java → web/src/main/java/org/springframework/security/web/server/header/XXssProtectionServerHttpHeadersWriter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/ui/LoginPageGeneratingWebFilter.java → web/src/main/java/org/springframework/security/web/server/ui/LoginPageGeneratingWebFilter.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/util/matcher/AndServerWebExchangeMatcher.java → web/src/main/java/org/springframework/security/web/server/util/matcher/AndServerWebExchangeMatcher.java


+ 16 - 16
webflux/src/main/java/org/springframework/security/web/server/util/matcher/MediaTypeServerWebExchangeMatcher.java → web/src/main/java/org/springframework/security/web/server/util/matcher/MediaTypeServerWebExchangeMatcher.java

@@ -24,13 +24,12 @@ import java.util.Set;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.springframework.http.InvalidMediaTypeException;
 import reactor.core.publisher.Mono;
 
 import org.springframework.http.MediaType;
 import org.springframework.util.Assert;
 import org.springframework.web.accept.ContentNegotiationStrategy;
-import org.springframework.web.reactive.accept.HeaderContentTypeResolver;
-import org.springframework.web.reactive.accept.RequestedContentTypeResolver;
 import org.springframework.web.server.NotAcceptableStatusException;
 import org.springframework.web.server.ServerWebExchange;
 
@@ -40,7 +39,6 @@ import org.springframework.web.server.ServerWebExchange;
  */
 public class MediaTypeServerWebExchangeMatcher implements ServerWebExchangeMatcher {
 	private final Log logger = LogFactory.getLog(getClass());
-	private RequestedContentTypeResolver requestedContentTypeResolver = new HeaderContentTypeResolver();
 
 	private final Collection<MediaType> matchingMediaTypes;
 	private boolean useEquals;
@@ -62,7 +60,7 @@ public class MediaTypeServerWebExchangeMatcher implements ServerWebExchangeMatch
 	public Mono<MatchResult> matches(ServerWebExchange exchange) {
 		List<MediaType> httpRequestMediaTypes;
 		try {
-			httpRequestMediaTypes = this.requestedContentTypeResolver.resolveMediaTypes(exchange);
+			httpRequestMediaTypes = resolveMediaTypes(exchange);
 		}
 		catch (NotAcceptableStatusException e) {
 			this.logger.debug("Failed to parse MediaTypes, returning false", e);
@@ -121,16 +119,6 @@ public class MediaTypeServerWebExchangeMatcher implements ServerWebExchangeMatch
 		this.useEquals = useEquals;
 	}
 
-	/**
-	 * Sets the {@link RequestedContentTypeResolver} to be used
-	 * @param requestedContentTypeResolver the resolver to use. Default is {@link HeaderContentTypeResolver}
-	 */
-	public void setRequestedContentTypeResolver(
-		RequestedContentTypeResolver requestedContentTypeResolver) {
-		Assert.notNull(requestedContentTypeResolver, "requestedContentTypeResolver cannot be null");
-		this.requestedContentTypeResolver = requestedContentTypeResolver;
-	}
-
 	/**
 	 * Set the {@link MediaType} to ignore from the {@link ContentNegotiationStrategy}.
 	 * This is useful if for example, you want to match on
@@ -143,10 +131,22 @@ public class MediaTypeServerWebExchangeMatcher implements ServerWebExchangeMatch
 		this.ignoredMediaTypes = ignoredMediaTypes;
 	}
 
+	private List<MediaType> resolveMediaTypes(ServerWebExchange exchange) throws NotAcceptableStatusException {
+		try {
+			List<MediaType> mediaTypes = exchange.getRequest().getHeaders().getAccept();
+			MediaType.sortBySpecificityAndQuality(mediaTypes);
+			return mediaTypes;
+		}
+		catch (InvalidMediaTypeException ex) {
+			String value = exchange.getRequest().getHeaders().getFirst("Accept");
+			throw new NotAcceptableStatusException(
+				"Could not parse 'Accept' header [" + value + "]: " + ex.getMessage());
+		}
+	}
+
 	@Override
 	public String toString() {
-		return "MediaTypeRequestMatcher [requestedContentTypeResolver="
-			+ this.requestedContentTypeResolver + ", matchingMediaTypes="
+		return "MediaTypeRequestMatcher [matchingMediaTypes="
 			+ this.matchingMediaTypes + ", useEquals=" + this.useEquals
 			+ ", ignoredMediaTypes=" + this.ignoredMediaTypes + "]";
 	}

+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/util/matcher/OrServerWebExchangeMatcher.java → web/src/main/java/org/springframework/security/web/server/util/matcher/OrServerWebExchangeMatcher.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/util/matcher/PathPatternParserServerWebExchangeMatcher.java → web/src/main/java/org/springframework/security/web/server/util/matcher/PathPatternParserServerWebExchangeMatcher.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatcher.java → web/src/main/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatcher.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatcherEntry.java → web/src/main/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatcherEntry.java


+ 0 - 0
webflux/src/main/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatchers.java → web/src/main/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatchers.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/test/web/reactive/server/WebTestClientBuilder.java → web/src/test/java/org/springframework/security/test/web/reactive/server/WebTestClientBuilder.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/test/web/reactive/server/WebTestHandler.java → web/src/test/java/org/springframework/security/test/web/reactive/server/WebTestHandler.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/method/ResolvableMethod.java → web/src/test/java/org/springframework/security/web/method/ResolvableMethod.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/reactive/result/method/annotation/AuthenticationPrincipalArgumentResolverTests.java → web/src/test/java/org/springframework/security/web/reactive/result/method/annotation/AuthenticationPrincipalArgumentResolverTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/DefaultServerRedirectStrategyTests.java → web/src/test/java/org/springframework/security/web/server/DefaultServerRedirectStrategyTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/DelegatingServerAuthenticationEntryPointTests.java → web/src/test/java/org/springframework/security/web/server/DelegatingServerAuthenticationEntryPointTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/ServerFormLoginAuthenticationConverterTests.java → web/src/test/java/org/springframework/security/web/server/ServerFormLoginAuthenticationConverterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/ServerHttpBasicAuthenticationConverterTests.java → web/src/test/java/org/springframework/security/web/server/ServerHttpBasicAuthenticationConverterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/WebFilterExchangeTests.java → web/src/test/java/org/springframework/security/web/server/WebFilterExchangeTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/authentication/AuthenticationWebFilterTests.java → web/src/test/java/org/springframework/security/web/server/authentication/AuthenticationWebFilterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/authentication/HttpBasicServerAuthenticationEntryPointTests.java → web/src/test/java/org/springframework/security/web/server/authentication/HttpBasicServerAuthenticationEntryPointTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationEntryPointTests.java → web/src/test/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationEntryPointTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationSuccessHandlerTests.java → web/src/test/java/org/springframework/security/web/server/authentication/RedirectServerAuthenticationSuccessHandlerTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/authentication/ServerAuthenticationEntryPointFailureHandlerTests.java → web/src/test/java/org/springframework/security/web/server/authentication/ServerAuthenticationEntryPointFailureHandlerTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/authorization/DelegatingReactiveAuthorizationManagerTests.java → web/src/test/java/org/springframework/security/web/server/authorization/DelegatingReactiveAuthorizationManagerTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/authorization/ExceptionTranslationWebFilterTests.java → web/src/test/java/org/springframework/security/web/server/authorization/ExceptionTranslationWebFilterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/authorization/HttpStatusServerAccessDeniedHandlerTests.java → web/src/test/java/org/springframework/security/web/server/authorization/HttpStatusServerAccessDeniedHandlerTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/context/AuthenticationReactorContextWebFilterTests.java → web/src/test/java/org/springframework/security/web/server/context/AuthenticationReactorContextWebFilterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/context/ServerSecurityContextRepositoryWebFilterTests.java → web/src/test/java/org/springframework/security/web/server/context/ServerSecurityContextRepositoryWebFilterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/context/ServerWebExchangeAttributeServerSecurityContextRepositoryTests.java → web/src/test/java/org/springframework/security/web/server/context/ServerWebExchangeAttributeServerSecurityContextRepositoryTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/header/CacheControlServerHttpHeadersWriterTests.java → web/src/test/java/org/springframework/security/web/server/header/CacheControlServerHttpHeadersWriterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/header/CompositeServerHttpHeadersWriterTests.java → web/src/test/java/org/springframework/security/web/server/header/CompositeServerHttpHeadersWriterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/header/HttpHeaderWriterWebFilterTests.java → web/src/test/java/org/springframework/security/web/server/header/HttpHeaderWriterWebFilterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/header/StaticServerHttpHeadersWriterTests.java → web/src/test/java/org/springframework/security/web/server/header/StaticServerHttpHeadersWriterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/header/StrictTransportSecurityServerHttpHeadersWriterTests.java → web/src/test/java/org/springframework/security/web/server/header/StrictTransportSecurityServerHttpHeadersWriterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/header/XContentTypeOptionsServerHttpHeadersWriterTests.java → web/src/test/java/org/springframework/security/web/server/header/XContentTypeOptionsServerHttpHeadersWriterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/header/XFrameOptionsServerHttpHeadersWriterTests.java → web/src/test/java/org/springframework/security/web/server/header/XFrameOptionsServerHttpHeadersWriterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/header/XXssProtectionServerHttpHeadersWriterTests.java → web/src/test/java/org/springframework/security/web/server/header/XXssProtectionServerHttpHeadersWriterTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/util/matcher/AndServerWebExchangeMatcherTests.java → web/src/test/java/org/springframework/security/web/server/util/matcher/AndServerWebExchangeMatcherTests.java


+ 0 - 31
webflux/src/test/java/org/springframework/security/web/server/util/matcher/MediaTypeServerWebExchangeMatcherTests.java → web/src/test/java/org/springframework/security/web/server/util/matcher/MediaTypeServerWebExchangeMatcherTests.java

@@ -16,34 +16,23 @@
 
 package org.springframework.security.web.server.util.matcher;
 
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
 
 import org.springframework.http.MediaType;
 import org.springframework.mock.http.server.reactive.MockServerHttpRequest;
 import org.springframework.mock.web.server.MockServerWebExchange;
-import org.springframework.web.reactive.accept.RequestedContentTypeResolver;
 import org.springframework.web.server.ServerWebExchange;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.when;
 
 /**
  * @author Rob Winch
  * @since 5.0
  */
-@RunWith(MockitoJUnitRunner.class)
 public class MediaTypeServerWebExchangeMatcherTests {
-	@Mock
-	private RequestedContentTypeResolver resolver;
-
 	private MediaTypeServerWebExchangeMatcher matcher;
 
 	@Test(expected = IllegalArgumentException.class)
@@ -111,26 +100,6 @@ public class MediaTypeServerWebExchangeMatcherTests {
 		assertThat(matcher.matches(exchange(MediaType.TEXT_HTML)).block().isMatch()).isFalse();
 	}
 
-	@Test
-	public void matchWhenCustomResolverAndAcceptEqualThenMatch() {
-		MediaType acceptType = MediaType.TEXT_HTML;
-		when(this.resolver.resolveMediaTypes(any())).thenReturn(Arrays.asList(acceptType));
-		MediaTypeServerWebExchangeMatcher matcher = new MediaTypeServerWebExchangeMatcher(acceptType);
-		matcher.setRequestedContentTypeResolver(this.resolver);
-
-		assertThat(matcher.matches(exchange(acceptType)).block().isMatch()).isTrue();
-	}
-
-	@Test
-	public void matchWhenCustomResolverAndDifferentAcceptThenNotMatch() {
-		MediaType acceptType = MediaType.TEXT_HTML;
-		when(this.resolver.resolveMediaTypes(any())).thenReturn(Arrays.asList(acceptType));
-		MediaTypeServerWebExchangeMatcher matcher = new MediaTypeServerWebExchangeMatcher(MediaType.APPLICATION_JSON);
-		matcher.setRequestedContentTypeResolver(this.resolver);
-
-		assertThat(matcher.matches(exchange(acceptType)).block().isMatch()).isFalse();
-	}
-
 	private static ServerWebExchange exchange(MediaType... accept) {
 		return MockServerWebExchange.from(MockServerHttpRequest.get("/").accept(accept).build());
 	}

+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/util/matcher/OrServerWebExchangeMatcherTests.java → web/src/test/java/org/springframework/security/web/server/util/matcher/OrServerWebExchangeMatcherTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/util/matcher/PathMatcherServerWebExchangeMatcherTests.java → web/src/test/java/org/springframework/security/web/server/util/matcher/PathMatcherServerWebExchangeMatcherTests.java


+ 0 - 0
webflux/src/test/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatchersTests.java → web/src/test/java/org/springframework/security/web/server/util/matcher/ServerWebExchangeMatchersTests.java


+ 0 - 13
webflux/spring-security-webflux.gradle

@@ -1,13 +0,0 @@
-apply plugin: 'io.spring.convention.spring-module'
-
-dependencies {
-	compile project(':spring-security-core')
-	compile project(':spring-security-web')
-	compile 'org.springframework:spring-webflux'
-
-	testCompile 'io.projectreactor:reactor-test'
-	testCompile 'org.springframework:spring-test'
-
-	integrationTestCompile 'com.squareup.okhttp3:mockwebserver'
-	integrationTestCompile 'io.projectreactor.ipc:reactor-netty'
-}

+ 0 - 105
webflux/src/integration-test/java/webclient/oauth2/poc/WebClientOAuth2PocTests.java

@@ -1,105 +0,0 @@
-/*
- * Copyright 2002-2017 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package webclient.oauth2.poc;
-
-import okhttp3.mockwebserver.MockResponse;
-import okhttp3.mockwebserver.MockWebServer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.reactive.function.client.ClientRequest;
-import org.springframework.web.reactive.function.client.ClientResponse;
-import org.springframework.web.reactive.function.client.ExchangeFilterFunction;
-import org.springframework.web.reactive.function.client.WebClient;
-import reactor.core.publisher.Mono;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication;
-
-/**
- * @author Rob Winch
- * @since 5.0
- */
-public class WebClientOAuth2PocTests {
-
-	private MockWebServer server;
-
-	private WebClient webClient;
-
-
-	@Before
-	public void setup() {
-		this.server = new MockWebServer();
-		String baseUrl = this.server.url("/").toString();
-		this.webClient = WebClient.create(baseUrl);
-	}
-
-	@After
-	public void shutdown() throws Exception {
-		this.server.shutdown();
-	}
-
-	@Test
-	public void httpBasicWhenNeeded() throws Exception {
-		this.server.enqueue(new MockResponse().setResponseCode(401).setHeader("WWW-Authenticate", "Basic realm=\"Test\""));
-		this.server.enqueue(new MockResponse().setResponseCode(200).setBody("OK"));
-
-		ClientResponse response = this.webClient
-			.mutate()
-			.filter(basicIfNeeded("rob", "rob"))
-			.build()
-			.get()
-			.uri("/")
-			.exchange()
-			.block();
-
-		assertThat(response.statusCode()).isEqualTo(HttpStatus.OK);
-
-		assertThat(this.server.takeRequest().getHeader("Authorization")).isNull();
-		assertThat(this.server.takeRequest().getHeader("Authorization")).isEqualTo("Basic cm9iOnJvYg==");
-	}
-
-
-	@Test
-	public void httpBasicWhenNotNeeded() throws Exception {
-		this.server.enqueue(new MockResponse().setResponseCode(200).setBody("OK"));
-
-		ClientResponse response = this.webClient
-			.mutate()
-			.filter(basicIfNeeded("rob", "rob"))
-			.build()
-			.get()
-			.uri("/")
-			.exchange()
-			.block();
-
-		assertThat(response.statusCode()).isEqualTo(HttpStatus.OK);
-
-		assertThat(this.server.getRequestCount()).isEqualTo(1);
-		assertThat(this.server.takeRequest().getHeader("Authorization")).isNull();
-	}
-
-	private ExchangeFilterFunction basicIfNeeded(String username, String password) {
-		return (request, next) ->
-			next.exchange(request)
-				.filter( r -> !HttpStatus.UNAUTHORIZED.equals(r.statusCode()))
-				.switchIfEmpty( Mono.defer(() -> {
-					return basicAuthentication(username, password).filter(request, next);
-				}));
-	}
-}

+ 0 - 15
webflux/src/test/resources/logback-test.xml

@@ -1,15 +0,0 @@
-<configuration>
-	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-	<encoder>
-		<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
-	</encoder>
-	</appender>
-
-	<logger name="org.springframework.security" level="${sec.log.level:-WARN}"/>
-
-
-	<root level="${root.level:-WARN}">
-	<appender-ref ref="STDOUT" />
-	</root>
-
-</configuration>