【问题标题】:Spring Security: authorize on two or more web applications simultaneouslySpring Security:同时授权两个或多个 Web 应用程序
【发布时间】:2012-07-24 22:42:14
【问题描述】:

您能否给我一个提示,如何同时在几个 Web 应用程序上授权用户?

我有:

  • 耳朵
    • WAR 1 (example.com/)
    • 战争 2 (example.com/shop/)
    • ...
    • WAR n (example.com/forum/)

每个 WAR 都是基于 Spring MVC (+Security) 的应用程序。用户在 WAR 1 上被认证和授权。当他切换到任何其他 WAR 时,他必须再次通过认证。如何绕过?

【问题讨论】:

    标签: spring security authentication spring-security simultaneous


    【解决方案1】:

    您应该为此使用 spring security 的 CAS 功能。

    【讨论】:

    • CAS 很好,通过过于重量级的解决方案,我相信这只是 Spring Sequrity 配置问题。但是如果找不到更简单的东西就会使用CAS。
    • 另一个简单的解决方案(hack!!)您可以将一个应用程序的凭据信息存储到 cookie 中,并强制另一个应用程序使用 remember-me 自动登录。但你应该注意直接登录
    • 哇,这是一个有趣的解决方案。 Jigar,我会这样打破标准的“记住我”功能吗?
    • 是的,因为当您从 app1 显式写入 cookie 并导航到 app2 时,它可以工作,但是当用户关闭浏览器并尝试直接打开 app2 时,即使他没有要求记住,他也会直接登录-我。为了解决这个问题,你必须在 cookie 中存储一些额外的信息,比如天气这个 cookie 是由 spring-security 或 app 生成的。然后扩展 spring security remember-me 身份验证过程并验证 cookie 和 explicty 字段。
    • 好的。在尝试了一些可能的解决方案(包括:Tomcat SSO Valve、OAuth for Spring Security、CAS、“remember-me”cookie 和前端重定向器)之后,CAS 赢了。在所有错误的决定中,必须选择最不坏的决定。
    猜你喜欢
    • 2019-08-18
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 2018-10-21
    • 2016-08-08
    • 2017-04-20
    • 1970-01-01
    • 2016-06-17
    相关资源
    最近更新 更多