Playframework 2.0 如何在play框架中使用会话范围?

Playframework 2.0 如何在play框架中使用会话范围?,playframework-2.0,Playframework 2.0,我想为play framework实现一个身份验证系统。 从正式文件: 由于会话只是一个Cookie,它也只是一个HTTP头,但Play提供了一个帮助器方法来存储会话值: 嗯,您正在将内容存储在cookies中…… 无论如何,我注意到servlet 3.0声明了新的会话范围,它比pla 2.0中当前使用的会话范围要好得多。 目前,所有会话信息都存储在一个cookie中:这意味着您只能存储像user.id这样的最小数据,否则将出现密集的http流量。 Servlet 3.0的工作方式与php会话类

我想为play framework实现一个身份验证系统。
从正式文件:

由于会话只是一个Cookie,它也只是一个HTTP头,但Play提供了一个帮助器方法来存储会话值:

嗯,您正在将内容存储在cookies中……
无论如何,我注意到servlet 3.0声明了新的会话范围,它比pla 2.0中当前使用的会话范围要好得多。
目前,所有会话信息都存储在一个cookie中:这意味着您只能存储像user.id这样的最小数据,否则将出现密集的http流量。
Servlet 3.0的工作方式与php会话类似:只有一个id由系统自动存储在客户机中, 相反,在服务器中存在所有会话数据。此外,每个请求都会针对cookie窃取攻击重新生成cookie。
我注意到Spring已经使用了这个规范“@scope(session)”,我认为这是play框架中最大的错误…(文档中的错误示例也不好)
目前的系统实在无法安装,速度太慢且不安全。

有一种方法可以使用servlet 3.0会话范围,或者您打算在将来的版本中实现它吗?


关于Nicola的会话:是的,这是事实,默认情况下,Play的会话只存储在coookie示波器中,我很确定这是有意的。Play clean实现的目标是从最小的依赖性开始,因为它不仅旨在构建具有强制DB使用的
通用
web应用程序和其他可用的
典型
东西,而且。。。有时你需要在自己身上加上2cc

身份验证/授权:幸运的是,您不需要从头开始创建这些机制,很少有公共可用的模块可以完成这项工作。我最喜欢的是Joscha Feth-完整的堆栈,用于授权和身份验证,具有多语言支持、多提供商支持(Facebook、Twitter等)、角色和权限(带Deadbolt2)等

不久前,我还发布了我的示例,它构建在
PA
之上,它演示了更好的会话处理,它(几乎)满足了您的所有需求。它不会在每个请求上刷新sesId,不过这只是一个小小的修改。你可以实现你自己。另外,欢迎您发送更多想法,使会议更加安全,我已打开


源代码在MyFork的分支中发布。Joscha对将其拉到官方PA样本很感兴趣,无论如何,我希望交付完成的解决方案,因此-正如我写的那样,您可以加入:)

会话:是的,这是事实,默认情况下,Play的会话仅存储在coookie范围内,我很确定这是出于某种目的。Play clean实现的目标是从最小的依赖性开始,因为它不仅旨在构建具有强制DB使用的
通用
web应用程序和其他可用的
典型
东西,而且。。。有时你需要在自己身上加上2cc

身份验证/授权:幸运的是,您不需要从头开始创建这些机制,很少有公共可用的模块可以完成这项工作。我最喜欢的是Joscha Feth-完整的堆栈,用于授权和身份验证,具有多语言支持、多提供商支持(Facebook、Twitter等)、角色和权限(带Deadbolt2)等

不久前,我还发布了我的示例,它构建在
PA
之上,它演示了更好的会话处理,它(几乎)满足了您的所有需求。它不会在每个请求上刷新sesId,不过这只是一个小小的修改。你可以实现你自己。另外,欢迎您发送更多想法,使会议更加安全,我已打开


源代码在MyFork的分支中发布。Joscha对将其拉到官方PA样本很感兴趣,无论如何,我希望交付完成的解决方案,因此-正如我所写的,您可以加入:)

Hi,欢迎使用Stack Overflow。你有具体的问题吗?这个网站不是一个真正的讨论论坛。嗨,“你打算实施新的吗?”这是一个问题,听起来你想让人们讨论这个话题。你读过这一页了吗?你有错误的印象。这不是讨论“什么系统更好?”,因为没有疑问。。如果我写下会话系统是如何工作的,那只是因为我想回答“是”或“否”,因为我为不知道的人描述了无arcaic系统。我对我来说真的很重要,因为如果这个项目对我来说听起来不太好,我不会再花更多的时间来创建类。你应该了解无状态框架,它是这个threadHi中的关键字,欢迎使用Stack Overflow。你有具体的问题吗?这个网站不是一个真正的讨论论坛。嗨,“你打算实施新的吗?”这是一个问题,听起来你想让人们讨论这个话题。你读过这一页了吗?你有错误的印象。这不是讨论“什么系统更好?”,因为没有疑问。。如果我写下会话系统是如何工作的,那只是因为我想回答“是”或“否”,因为我为不知道的人描述了无arcaic系统。我对我来说真的很重要,因为如果这个项目对我来说听起来不太好,我不会花更多的时间来创建类。你应该了解无状态框架,它是这个线程中的关键字