【问题标题】:Saving a previous authentication in Spring在 Spring 中保存以前的身份验证
【发布时间】:2018-10-04 15:24:37
【问题描述】:

作为身份验证,应用程序 (Service-X) 使用第三方内部服务 (Service-Y),其中存储了有关员工的所有信息。公司内部所有服务均使用单点登录。

如果Service-Y不可用,如何实现登录Service-X的能力? (如果在此之前我已经在 Service-X 中进行了身份验证)。

【问题讨论】:

    标签: spring-boot gradle microservices spring-security-oauth2 netflix-zuul


    【解决方案1】:

    Spring Security 附带的remember-me 功能可能正是您想要的。

    但是,这仍然有很多限制。如果您的 cookie 在关闭浏览器时被清除,这在许多大公司中很常见,这将不起作用。除了会话 cookie,您无法安全地记住用户。如果用户的 cookie 已被清除或过期,您绝对需要 Service-Y 来识别用户。

    OAuth2 的主要卖点是您使用 Service-Y 登录,而 Service-X 不知道您的用户名/密码(除非用户名是通过范围传输的),所以虽然你可以问用户在第一次使用Service-Y 登录Service-X 时提供密码,以防Service-Y 出现故障,这可能 修补您的问题,我真的不推荐 因为它在某种程度上违背了 OAuth2 的目的。

    现在,尽管我不推荐,但如果你接受了这个建议,你应该确保Service-X 检查 Service-Y 已关闭,然后才允许用户使用他的密码登录提供给Service-X

    最好的情况是,如果您的浏览器 cookie 没有被清除,请使用记住我功能。我建议您阅读以下内容:http://www.baeldung.com/spring-security-oauth2-remember-me

    【讨论】:

      猜你喜欢
      • 2016-06-18
      • 1970-01-01
      • 2017-03-08
      • 2017-09-07
      • 2018-11-23
      • 2019-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多