繁体   English   中英

如何使用Scala Play框架处理会话?

[英]How to handle session using Scala Play framework?

我的应用程序中具有用户登录功能。 我使用Scala Play Framework作为控制器。 我使用withSession('userId'->userIDValue)为不同的用户创建会话。 我的应用程序具有一个功能,将有一个超级用户,超级用户可以删除用户。 现在发生的事情是,如果超级用户删除了一个用户但该用户已登录,则该用户的会话将一直运行,直到浏览器的cookie到期为止。 Play框架是无状态的; 有什么办法解决这个问题?

对于传入的请求,我认为您需要验证用户在Play端仍处于活动状态,而不仅是信任会话。

如果这是一项昂贵的操作,例如,您必须进行数据库调用以验证用户是否仍处于活动状态,则可以使用Play Cache API。 如果您只有一个Play服务器实例,那么这应该很简单-您可以在超级用户删除用户时在缓存中设置一些内容,并使缓存项的有效期长于cookie的有效期。 如果您有多个Play服务器实例,那就更麻烦了。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM