我的用例是自定义用户请求的oauth2范围,并仅向用户授予已过滤的范围, 例如:User1想要生成令牌,他的ldap角色是R1,我有一个R1->读取,写入的映射表 所以我希望这个用户只获取映射的范围,无论请求的范围如何。
我正在尝试在@EnableWebSecurity类中添加一个过滤器:
@Override
protected void configure(final HttpSecurity httpSecurity) throws Exception {
httpSecurity.addFilterAfter(new OAuth2UsernamePasswordAuthenticationFilter(authenticationManager()), UsernamePasswordAuthenticationFilter.class) }
但是当我调用/ oauth / token API时,tryAuthentication方法没有被调用,如果我放置除/ oauth / generate之外的任何其他api,它会被调用 我的OAuth2UsernamePasswordAuthenticationFilter扩展了AbstractAuthenticationProcessingFilter
。是否有人通过拦截请求有更好的解决方案来限制请求的范围?任何帮助将不胜感激。感谢