在编译和群集服务器上注销securesocial

时间:2012-02-09 05:44:04

标签: playframework securesocial

我有一个关于身份验证机制本身的快速问题。 securesocial如何管理登录cookie?当我在系统中更改代码并且在代码更改之前已经登录然后我将被注销并且我需要再次登录时,我遇到了一些问题。这对于开发来说是正确的。对于生产,我们使用一个集群系统,如果我在一台机器上启动请求而下一个请求在另一台机器上则有两台机器,那么我每次都会注销。有没有人知道这可能是什么或更好为什么会发生这种情况?我们正在使用securesocial 0.2.2

最好的问候托马斯

1 个答案:

答案 0 :(得分:4)

该模块依赖于UserService接口的实现来保存/查找经过身份验证的用户。 SecureSocial附带一个默认实现:DefaultUserService。但是,这不适用于生产环境,因为它将所有内容都存储在内存中的HashMap中。这就是当应用程序在DEV模式下重新加载或者要求您在群集环境中再次登录时注销的原因。

您需要提供自己的该类实现,并将内容存储在数据库或其他后备存储中。签出UserService中的javadoc。

顺便说一句,请升级到0.2.4版。我修复了一个错误,该错误阻止某些请求被重定向到登录页面时被授予访问权限。