@ EnableZuulProxy + @ EnableOAuth2Sso + AuthenticationFailureHandler

时间:2017-05-19 12:35:37

标签: spring-security spring-cloud spring-security-oauth2 netflix-zuul spring-oauth2

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

我有一个授权服务器,可以根据Microsoft Active Directory服务器对用户进行身份验证。我可以说,在Spring Cloud中,流程如下:

  1. 用户尝试通过Zuul代理服务器访问Angular客户端
  2. Zuul服务器检查授权服务器的授权
  3. 授权服务器依次针对Microsoft Active Directory服务器验证用户凭据,并在必要时向用户显示登录页面
  4. 用户输入用户名和密码
  5. 最终,用户的密码已过期,并且Microsoft AD通过"数据733"来回复自动服务器拒绝身份验证。错误消息中的代码
  6. 授权服务器将身份验证错误发送给Zuul服务器,Zuul服务器又使用查询参数(/ login?error)再次请求登录页面
  7. 我想要做的是将步骤6中的查询参数更改为/ login?error_expired,这样我就可以向用户显示一条消息,告诉他必须更新密码在继续之前。

    提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

最后我发现我对某些假设是错误的。我只是使用常规的Spring Security技术拦截授权服务器本身的失败身份验证尝试。