【问题标题】:Spring Security in a distributed application分布式应用程序中的 Spring Security
【发布时间】:2019-12-30 15:06:05
【问题描述】:

我们最近将应用程序升级到 Spring 3.0 和 Spring Security 3.0。除了出于各种原因我们要做的额外工作之外,我们还需要将后端与前端分开。我们计划使用 Spring 的透明 RMI 解决方案将我们的服务暴露给我们的前端。然而,今天的设计方式,前端和后端都依赖于 Spring SecurityContext 来保护服务等免受未经授权的用户的侵害。据我了解,SecurityContext 是每个 JVM 的吗?如果这是正确的,我怎样才能有效地与后端共享上下文?我会假设在需要它的 RMI 调用中传递身份验证令牌?

【问题讨论】:

    标签: spring spring-security


    【解决方案1】:

    之前使用过 Spring 的 HTTP 调用程序远程处理,我可以说它内置了对传递 Spring 安全令牌的支持。我假设 Spring 的 RMI 解决方案也具有此功能,但您需要在 Spring 的 RMI 类/javadoc 中进行挖掘以确认这一点。

    在客户端,您需要ContextPropagatingRemoteInvocationFactory 类,它会在远程调用中自动包含 Spring 安全上下文。

    【讨论】:

    • 你是对的。我在 spring 参考手册中进行了搜索,发现他们说没有直接支持,但存在钩子。因此,我翻阅了 java 文档,发现了 spring security 的 ContextPropagatingRemoteInvocation,它允许客户端调用通过远程调用传递身份验证对象。亲爱的,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 2011-01-17
    • 1970-01-01
    • 2018-09-27
    • 2011-08-18
    • 2018-12-15
    相关资源
    最近更新 更多