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

Tee*_*aay 5 playframework securesocial

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

最好的问候托马斯

Jor*_*rge 4

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

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

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

  • 即使使用数据库支持的 UserService,我也会得到相同的行为。我担心我做错了什么。提供商的“授权应用程序”是否正常?每次都显示页面?或者这种情况应该在开始时只发生一次? (4认同)