|
@@ -48,8 +48,9 @@ import org.springframework.util.Assert;
|
|
|
* </p>
|
|
|
*
|
|
|
* <pre>
|
|
|
- * protected void configure(HttpSecurity http) throws Exception {
|
|
|
- * http.apply(new UrlAuthorizationConfigurer<HttpSecurity>()).getRegistry()
|
|
|
+ * @Bean
|
|
|
+ * public SecurityFilterChain filterChain(HttpSecurity http, ApplicationContext context) throws Exception {
|
|
|
+ * http.apply(new UrlAuthorizationConfigurer<HttpSecurity>(context)).getRegistry()
|
|
|
* .requestMatchers("/users**", "/sessions/**").hasRole("USER")
|
|
|
* .requestMatchers("/signup").hasRole("ANONYMOUS").anyRequest().hasRole("USER");
|
|
|
* }
|
|
@@ -201,24 +202,22 @@ public final class UrlAuthorizationConfigurer<H extends HttpSecurityBuilder<H>>
|
|
|
setApplicationContext(context);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @deprecated use {@link #requestMatchers(HttpMethod, String...)} instead
|
|
|
+ */
|
|
|
@Override
|
|
|
- public AuthorizedUrl requestMatchers(String... patterns) {
|
|
|
- return super.requestMatchers(patterns);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public AuthorizedUrl requestMatchers(HttpMethod method, String... patterns) {
|
|
|
- return super.requestMatchers(method, patterns);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public AuthorizedUrl requestMatchers(HttpMethod method) {
|
|
|
- return super.requestMatchers(method);
|
|
|
+ @Deprecated
|
|
|
+ public MvcMatchersAuthorizedUrl mvcMatchers(HttpMethod method, String... mvcPatterns) {
|
|
|
+ return new MvcMatchersAuthorizedUrl(createMvcMatchers(method, mvcPatterns));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @deprecated use {@link #requestMatchers(String...)} instead
|
|
|
+ */
|
|
|
@Override
|
|
|
- public AuthorizedUrl requestMatchers(RequestMatcher... requestMatchers) {
|
|
|
- return super.requestMatchers(requestMatchers);
|
|
|
+ @Deprecated
|
|
|
+ public MvcMatchersAuthorizedUrl mvcMatchers(String... patterns) {
|
|
|
+ return mvcMatchers(null, patterns);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -243,6 +242,32 @@ public final class UrlAuthorizationConfigurer<H extends HttpSecurityBuilder<H>>
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * An {@link AuthorizedUrl} that allows optionally configuring the
|
|
|
+ * {@link MvcRequestMatcher#setMethod(HttpMethod)}
|
|
|
+ *
|
|
|
+ * @author Rob Winch
|
|
|
+ */
|
|
|
+ public final class MvcMatchersAuthorizedUrl extends AuthorizedUrl {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Creates a new instance
|
|
|
+ * @param requestMatchers the {@link RequestMatcher} instances to map
|
|
|
+ */
|
|
|
+ private MvcMatchersAuthorizedUrl(List<MvcRequestMatcher> requestMatchers) {
|
|
|
+ super(requestMatchers);
|
|
|
+ }
|
|
|
+
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ public AuthorizedUrl servletPath(String servletPath) {
|
|
|
+ for (MvcRequestMatcher matcher : (List<MvcRequestMatcher>) getMatchers()) {
|
|
|
+ matcher.setServletPath(servletPath);
|
|
|
+ }
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Maps the specified {@link RequestMatcher} instances to {@link ConfigAttribute}
|
|
|
* instances.
|