我们有一堆过滤器设置与基本网址匹配,如下所示:
FilterRegistration.Dynamic characterEncoding = servletContext.addFilter("characterEncoding", characterEncodingFilter);
characterEncoding.addMappingForUrlPatterns(dispatcherTypes, true, "/*");
我有一个新的开放式网址,例如/open/pages/
,我想跳过所有这些预先配置的过滤器。
我使用Spring进行基于注释的配置,这是我的安全上下文规则:
http
.csrf().disable()
.logout()
.deleteCookies("JSESSIONID")
.invalidateHttpSession(true)
//Configures url based authorization
.and()
.authorizeRequests()
.antMatchers(OpenPageDataController.OPEN_PAGE_MAPPING + "/**")
.hasIpAddress("127.0.0.1")
.and()
.authorizeRequests()
//Anyone can access the urls
.antMatchers(
"/auth/**",
"/login",
"/login/email/**",
"/signup/**",
).permitAll()
.antMatchers("/**").hasRole("USER")
这是最好的方法吗?
答案 0 :(得分:0)
尝试添加:
.authorizeRequests().antMatchers("/open/pages/**").permitAll()
这将允许未经过身份验证的用户访问/open/pages/
层次结构下的任何资源。