filter java oauth_Spring Security OAuth2从默认筛选器链中禁用BasicAuthenticationFilter

在Authorization Server中,由于对客户端ID的某些操作,需要添加自定义BasicAuthenticationFilter . 大多数实现与 BasicAuthenticationFilter 相同 . 以下是相同的片段,

@Override

protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) {

...

...

String username = someDecoder(tokens[0]); // Kind of something

...

...

}

我的自定义过滤器放在过滤器链中 BasicAuthenticationFilter 之前 .

http.addFilterBefore(new CustomBasicAuthenticationFilter(authenticationManager(), authenticationEntryPoint()),

BasicAuthenticationFilter.class);

此自定义筛选器非常棒,用户也可以成功进行身份验证 . 但由于BasicAuthenticationFilter仍然存在于链中,此过滤器也会被执行并尝试再次对用户进行身份验证,但由于未操作客户端凭据而失败 . 见BasicAuthenticationFilter-GitHub

所以要从过滤器链中删除/禁用 BasicAuthenticationFilter ,然后按SOQ,建议使用 BeanPostProcessor . 但是在Spring Boot过滤器链中注册了bean名称 springSecurityFilterChain 和类 FilterChainProxy . 作为FilterChainProxy-GitHub返回 SecurityFilterChain 的不可修改列表 . 所以它的下一个不可能改变 FilterChainProxy bean .

那么如何实现从Spring Security Filter链中删除/禁用 BasicAuthenticationFilter 或任何其他过滤器的相同或任何其他方式 .

使用Spring Boot 1.5.1和Spring Security OAuth2 2.0.12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值