8

我正在寻找一个持久会话管理器,它将会话保存在可与 DropWizard 一起使用的文件系统(如 PHP)上。我看到有一个Environment.getSessionHandler(),但我没有看到关于它的文档。

我可以自己写,但我希望能吃一顿熟食。请问上面的SessionHandler是我要找的吗?以及如何使用它?

4

3 回答 3

6

使用 dropwizard>0.7

environment.jersey().register(HttpSessionProvider.class);
environment.servlets().setSessionHandler(new SessionHandler());

然后@Session在您的资源类中使用注释。

于 2014-11-30T07:58:37.487 回答
2

DropWizard 不支持开箱即用的会话,根据作者在 google 群组中的帖子,他们也不打算在未来支持它。

目前唯一的方法是让你org.eclipse.jetty.server.session.SessionHandler自己实现或寻找已经存在的东西然后调用environment.setSessionHandler(...)

如果您需要此信息,DW 0.6.2 使用 Jetty 8.1.10

您还可以查看http://cosmo-opticon.net/blog/2013/1/23/session-based-security-in-dropwizard并查看是否可以重复使用其中的一些内容。

于 2013-11-14T09:02:49.863 回答
-2

REST 根据定义是无状态的,因此根本不应该使用任何会话。无论会话状态如何,相同的 URI 都应始终返回相同的结果。

于 2013-11-18T11:46:40.607 回答