GWT - 使会话管理正确

时间:2011-04-11 18:01:41

标签: session gwt

我正在尝试在GWT中实现一个简单的会话管理机制,我仍然不确定我是否做对了:

  1. 首先,在onModuleLoad中,检查是否存在sessionID Cookie。如果它存在,我调用服务器以查看它是否仍然有效。如果是,我返回一个User对象,其中包含sessionID和完整的用户名(我在我的应用程序中需要这个)。
  2. 如果它不存在,我会显示Login对话框。用户输入用户名和密码。我调用AuthenticationService,检查用户名+密码是否有效,然后返回User个对象。 sessionID存储了cookie。
  3. 登出时,我会删除sessionID Cookie。
  4. 这就是sessionID的创建方式:

    String sessionID = UUID.randomUUID().toString();
    

    到目前为止这是正确的吗?

3 个答案:

答案 0 :(得分:2)

GWT session management

这也可能有所帮助。我也使用了你的方法,我需要更广泛的用户访问控制。你也应该看看SSL。选择适合您需求的方法。

答案 1 :(得分:1)

无需定时器,只需在客户端设置cookie过期即可。通常,在允许的“活动”时间范围内的每个客户端请求都应该更新cookie的到期时间(向前移动)和服务器端会话到期时间(!important )。

答案 2 :(得分:0)

在我的GWT应用程序中,我想在客户端建立会话。为此,我创建了一个计时器,并为每个导航事件检查计时器。如果超过了计时器的时间限制,那么我将渲染登录面板。详细代码 See this