【问题标题】:GWT - Getting session management rightGWT - 正确进行会话管理
【发布时间】:2018-06-22 08:48:02
【问题描述】:

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

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

这就是 sessionID 的创建方式:

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

到目前为止,这是否正确?

【问题讨论】:

    标签: session gwt


    【解决方案1】:

    GWT session management

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-04-30
          • 2010-10-29
          • 1970-01-01
          • 1970-01-01
          • 2012-02-22
          • 1970-01-01
          • 1970-01-01
          • 2016-02-07
          相关资源
          最近更新 更多