【问题标题】:How to use anotation instead of HttpSecurity?如何使用注解代替 HttpSecurity?
【发布时间】:2017-12-20 18:51:19
【问题描述】:

我有带有 OAuth2 的 Spring Boot 应用程序。我想打开一些端点以进行匿名访问。我可以这样做:

http
    .authorizeRequests()
          .antMatchers("/xyz/**").anonymous()
          .and()
    .authorizeRequests()
          .anyRequest().authenticated();

但是有什么方法可以更有选择性地通过在其中放置一些注释来仅打开特定的端点?我试过@PermitAll,但它仍然需要身份验证。

【问题讨论】:

  • AFAIK 这是不可能的,因为 Spring Boot 具有默认的 Web 安全性,它对每个请求进行身份验证。所以你需要改变/覆盖网络安全,见Spring Boot reference
  • 删除了我的答案@PreAuthorize("permitAll()"),因为它不起作用。我会尝试找到其他的。

标签: java spring spring-boot spring-security spring-security-oauth2


【解决方案1】:

您可以使用 antMatchers("/YOUR_ENDOINT/**").permitAll();

【讨论】:

  • OP 的问题是如何使用注释而不是 HttpSecurity? 您的解决方案没有注释,与 OP 的 .antMatchers("/xyz/**").anonymous() 或多或少相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 2011-12-08
  • 1970-01-01
  • 2014-02-06
  • 2020-12-13
相关资源
最近更新 更多