spring BOOT:仅在春季BOOT中对某些URL进行基本身份验证,而对其他URL进行数据库Auth

时间:2018-07-16 10:42:29

标签: java spring-boot basic-authentication

嗨,我在这个问题上停留了很长时间。 我希望一些其他api具有基本身份验证,一些其他api具有db身份验证。

我尝试添加单独的WebSecurityConfigurerAdapter,但无法正常工作。 在Spring Boot中如何实现?

2 个答案:

答案 0 :(得分:0)

Spring Boot还具有与Spring相同的功能,它只是Spring框架顶部的框架,可用来删除样板并简化配置部分。

您可以参考以下链接,查看其在春季启动中的工作方式:https://www.devglan.com/spring-security/spring-boot-security-rest-basic-authentication

答案 1 :(得分:0)

安全过滤器拒绝了基本身份验证Urls。因此我在Spring安全性中使这些URL打开了Url。(无身份验证Urls)

这样,当这些Urls进入“基本身份验证过滤器”时,便会得到验证。

所以我用Lowest_Precedence为基本身份验证创建了FilterRegistrationBean。

@Bean
  public FilterRegistrationBean registerBasicAuthFilter(BasicAuthFilter filter) {
      FilterRegistrationBean reg = new FilterRegistrationBean(filter);
      reg.setOrder(Ordered.LOWEST_PRECEDENCE);
      return reg;
  }
  

如果您想在Spring Security之后使用自己的过滤器,则可以为Spring Security的过滤器创建自己的注册并指定顺序。

共享Basic Auth Java类-Spring BOOT

  • 这包括来自db的用户身份验证。(有助于旋转 用户的信誉。)

https://gist.github.com/kad9/b595910e1a659f91d199b910f699a2d2

这使我的工作易于维护。