如何在DropWizard中维护用户会话?

时间:2013-11-14 05:56:41

标签: session dropwizard

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

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

3 个答案:

答案 0 :(得分:5)

使用dropwizard> 0.7

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

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

答案 1 :(得分: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,看看是否可以重复使用其中一些。

答案 2 :(得分:-1)

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