filter java oauth_Spring OAuth过滤器链和Java配置

我正在尝试将spring-security-oauth添加到具有spring-security的现有应用程序中.我正在使用Java配置.

我有一个现有的修改过滤器链(添加了一些自定义过滤器)但是对’/ oauth / token’的请求没有使用它,而是使用’默认’过滤器链.如何才能访问保护oauth端点的过滤器链,以便我可以在那里使用自定义过滤器,还是可以将OAuth端点连接到现有设置中?

解决方法:

使用AuthorizationServerConfigurer接口确实有一种稍微平滑的方式.

您可以坚持注释@EnableAuthorizationServer并在配置文件中实现上面的接口.这将使您能够通过执行以下操作来更改oauth2-filter-chain:

@Configuration

@EnableWebSecurity

@EnableAuthorizationServer

public class SecurityConfig extends WebSecurityConfigurerAdapter

implements AuthorizationServerConfigurer

// some configuration ...

public void configure(AuthorizationServerSecurityConfigurer oauthSecurity) throws Exception {

oauthSecurity.addTokenEndpointAuthenticationFilter(new YourFilter());

}

// more configuration ...

}

与HttpSecurity的addFilterXYX方法相比,这里没有细粒度的影响,过滤器将位于过滤器链中. addTokenEndpointAuthenticationFilter添加的任何过滤器都将插入BasicAuthenticationFilter之前.

如果需要以更详细的方式控制过滤器的位置,则可以创建扩展AuthorizationServerConfigurerAdapter的bean,而不是使用注释@EnableAuthorizationServer.我没有尝试,但我想你可以扩展AuthorizationServerSecurityConfigurationlike systemfreund建议,而不必指定@Order(-1),因为只导入自定义配置.可能你还需要@Import AuthorizationServerEndpointsConfiguration,就像它在便利注释@EnableAuthorizationServer中完成的那样.

标签:spring,oauth,oauth-2-0,spring-security

来源: https://codeday.me/bug/20190609/1203618.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值