我正在寻找一个持久会话管理器,它将会话保存在可与 DropWizard 一起使用的文件系统(如 PHP)上。我看到有一个Environment.getSessionHandler()
,但我没有看到关于它的文档。
我可以自己写,但我希望能吃一顿熟食。请问上面的SessionHandler是我要找的吗?以及如何使用它?
我正在寻找一个持久会话管理器,它将会话保存在可与 DropWizard 一起使用的文件系统(如 PHP)上。我看到有一个Environment.getSessionHandler()
,但我没有看到关于它的文档。
我可以自己写,但我希望能吃一顿熟食。请问上面的SessionHandler是我要找的吗?以及如何使用它?
使用 dropwizard>0.7
environment.jersey().register(HttpSessionProvider.class);
environment.servlets().setSessionHandler(new SessionHandler());
然后@Session
在您的资源类中使用注释。
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并查看是否可以重复使用其中的一些内容。
REST 根据定义是无状态的,因此根本不应该使用任何会话。无论会话状态如何,相同的 URI 都应始终返回相同的结果。