我一直在尝试配置 Spring Boot 安全性,以便在不需要身份验证的情况下允许某些 url,并且在没有身份验证的情况下不允许任何其他请求。我很难做到这一点。
根据我的理解,anyRequest().authenticated() 要求之前声明的 antMatchers 需要身份验证。
怎么可能达到我的要求。
我的 Http 安全配置
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors().and().csrf().disable().authorizeRequests()
.requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll()
.antMatchers(HttpMethod.POST,SIGN_UP_URL).permitAll()
.antMatchers(HttpMethod.GET,banner_top_url).permitAll()
.antMatchers(HttpMethod.GET,banner_bottom_url).permitAll()
.antMatchers(HttpMethod.GET,javascript_url).permitAll()
.antMatchers(HttpMethod.GET,stylesheet_url).permitAll()
.antMatchers(HttpMethod.GET,photos_url).permitAll()
.antMatchers(HttpMethod.GET,transformed_photos_url).permitAll()
.antMatchers(HttpMethod.GET,preview_url).permitAll()
.antMatchers(HttpMethod.GET, "/", "/**/*.html", "/static/favicon.ico", "/**/*.js", "/**/*.js.map", "/**/*.css", "/**/*.png", "/**/*.jpg", "/**/*.jpeg", "/**/*.gif", "/**/*.ttf", "/**/*.json", "/**/*.woff", "/**/*.woff2", "/**/*.eot", "/**/*.svg").permitAll()// allows static content from resource folder
.antMatchers("/error").permitAll() // By default Security framework disables error pages (Unauthrorized)
.anyRequest().authenticated()
.and()
}
我假设必须在没有身份验证的情况下授予以下网址访问权限。 SIGN_UP_URL banner_top_url banner_bottom_url javascript_url stylesheet_url photos_url transformed_photos_url preview_url
问题是这一行:.anyRequest().authenticated() 如果我删除它,那么 REST 接口中的所有端点都可以在没有我不想要的身份验证的情况下使用。
慕的地6264312
HUH函数
呼如林
相关分类