【问题标题】:Modules Integration and Security in springSpring 中的模块集成和安全性
【发布时间】:2015-06-05 20:31:09
【问题描述】:

我有几个多模块spring web应用程序,每个应用程序如下,每个应用程序都不同地开发没有互连。

war
|...webModule    
|...coreModule 

我想将它们与一个具有安全设置的管理模块集成。 我怎样才能做到这一点??他们有什么框架吗?

我使用了 OSGI 方法,但它有很多迁移工作。基于组件的情况如何(我从不这样做)......任何人都可以建议一些方法来创建我的集成应用程序,它可以处理其他子应用程序的常见登录和安全性吗? (需要单点登录多个战争解决方案)

【问题讨论】:

    标签: java spring-mvc architecture spring-security osgi


    【解决方案1】:

    我强烈建议阅读 Angular JS 和 Spring Security 系列,尤其是 https://spring.io/blog/2015/01/20/the-resource-server-angular-js-and-spring-security-part-iii

    他们描述的方法对您来说似乎完全可行。重点

    • Spring Security 使用 HttpSession 通过以下方式存储身份验证数据 默认。但它并不直接与会话交互:有 之间的抽象层(SecurityContextRepository) 可用于更改存储后端。

    • 通过管理模块进行身份验证后,您应该将身份验证数据存储到所有其他模块都可以访问的存储中,并使用会话 ID 作为数据的密钥。您可以在Spring Session 的帮助下轻松实现这一点,您可以使用开箱即用的支持 Redis 作为身份验证数据的共享存储。

    • 最后,密钥将设置在针对其他模块的请求的自定义标头中,它将使用此自定义标头和更改的会话策略从存储中提取身份验证数据并对用户进行身份验证

    该方法背后有很多细节,但该系列附带了示例实现,因此您应该能够找到自己的方法

    【讨论】:

    • 你可以指定使用 Spring Security 的单点登录教程
    猜你喜欢
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 2013-03-04
    • 2019-09-13
    相关资源
    最近更新 更多