在 Rails 和 Spring MVC 之间共享会话

Posted

技术标签:

【中文标题】在 Rails 和 Spring MVC 之间共享会话【英文标题】:Sharing the session between Rails and Spring MVC 【发布时间】:2012-03-27 18:13:38 【问题描述】:

在 Rails 中,会话存储在 cookie 中并签名以防止伪造。我正在寻找有关以某种方式让 Spring MVC 加载 Rails cookie(以及会话)的最佳实践,以便可以读取和使用它。

String[] parts = URLDecoder.decode(cookie).split("--");
byte[] decoded = Base64.decodeBase64(parts[0].getBytes());
String checksum = parts[1];
String decoded_string = new String(decoded);

这给出了序列化的散列 - 但如果它可以反序列化为 Java 中的散列,那将是理想的。但是,我希望其他人可能已经对此进行了测试或做过类似的事情,并且可以警告潜在的陷阱。

相关:How Can I Access Rails' Session In My Java App、How do I manage sessions in a hybrid Ruby/GWT system?

【问题讨论】:

那条路是疯狂的。您是否尝试过研究像 CAS 之类的东西? jasig.org/cas 【参考方案1】:

在这个特定示例中,您可以使用数据库在这些应用程序之间共享一些信息,例如 Redis 或其他键值存储。

【讨论】:

以上是关于在 Rails 和 Spring MVC 之间共享会话的主要内容,如果未能解决你的问题,请参考以下文章

Rails:在模型之间共享枚举声明值

在 Rails 上的模块之间共享类

在 Rails 中的子域之间共享会话(cookie)?

Spring MVC 基础篇4

在 EXTJS 和 Touch Apps 之间共享遵循 MVC 模式的功能 - Sencha Workspace

Spring MVC 中控制器的生命周期