【发布时间】:2013-05-09 21:53:42
【问题描述】:
许多 Java PaaSes(例如CloudBees session stores)提供会话集群/存储,这样用户在特定请求中被路由到哪个服务器节点并不重要,所有服务器节点共享相同的存储会话数据,因此任何服务都可以为任何客户端请求提供服务。
我想知道这如何应用于客户端 MVC、单页应用程序(如 GWT 应用程序)。
使用 GWT,大多数应用程序都在客户端作为 JavaScript 执行。通常,客户端访问服务器(通过 GWT-RPC 或 RequestFactory)的唯一时间是客户端需要数据时,在这种情况下,它会在后台对GWTServlet 进行特殊调用。
我对共享会话存储的理解是适用于HttpServlet 以及客户端(请求)和服务器(响应)之间的来回对话。但这似乎并不真正适用于 GWT 领域。
所以我问:我的 GWT 应用程序能否从上述应用程序会话存储中受益? 为什么或为什么不?如果是这样,非常非常感谢具体的例子!提前致谢!
示例:
我有一个允许客户端用户执行某些操作的应用:
public class BackOfficeServlet extends HttpServlet {
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) {
User u = getUserFromRequest(request);
Action a = getActionFromRequest(request);
// If the user is allowed to do the action, then do it.
if(UserActionAuthenticator.actionIsAllowed(u, a))
a.execute(u, request);
}
}
如何/在哪里使用HttpSession 来添加上述代码示例中没有的安全性或功能?
【问题讨论】:
标签: java session gwt session-state cloudbees