Spring security @EnableZuulProxy+@启用OAuth2sSO+;AuthenticationFailureHandler

Spring security @EnableZuulProxy+@启用OAuth2sSO+;AuthenticationFailureHandler,spring-security,spring-cloud,spring-security-oauth2,netflix-zuul,spring-oauth2,Spring Security,Spring Cloud,Spring Security Oauth2,Netflix Zuul,Spring Oauth2,使用@EnableZuulProxy+@EnableOAuth2Sso注释时,如何拦截身份验证失败 我有一个授权服务器,它根据Microsoft Active Directory服务器对用户进行身份验证。正如我所知,在Spring Cloud中,过程如下: 用户试图通过Zuul代理服务器访问Angular客户端 Zuul服务器根据授权服务器检查授权 授权服务器依次根据Microsoft Active Directory服务器验证用户凭据,如有必要,会向用户显示登录页面 用户输入用户名和密码 最终

使用@EnableZuulProxy+@EnableOAuth2Sso注释时,如何拦截身份验证失败

我有一个授权服务器,它根据Microsoft Active Directory服务器对用户进行身份验证。正如我所知,在Spring Cloud中,过程如下:

  • 用户试图通过Zuul代理服务器访问Angular客户端
  • Zuul服务器根据授权服务器检查授权
  • 授权服务器依次根据Microsoft Active Directory服务器验证用户凭据,如有必要,会向用户显示登录页面
  • 用户输入用户名和密码
  • 最终,用户密码过期,Microsoft AD在错误消息中用“data 733”代码回答自动化服务器拒绝身份验证
  • 授权服务器向Zuul服务器发送身份验证错误,然后Zuul服务器使用查询参数(/login?error)再次请求登录页面
  • 我想做的是将步骤6中的查询参数更改为类似于/login?error_的内容,这样我就可以向用户显示一条消息,告诉用户在继续之前必须更新密码


    提前感谢您的帮助

    最后我发现我的一些假设是错误的。我刚刚使用常规的Spring安全技术在授权服务器本身拦截了一次失败的身份验证尝试。

    答案是编写一个自定义筛选器。@Spencergib,所以我必须执行类似于httpSecurity.addFilterAfter(new CustomFilter(),BasicAuthenticationFilter.class)的操作吗?如果是这样的话,我应该使用哪个阶段来放置过滤器。我尝试了基本的身份验证过滤器,但没有成功。一个自定义的zuul过滤器。