我正在尝试在GWT中实现一个简单的会话管理机制,我仍然不确定我是否做对了:
onModuleLoad
中,检查是否存在sessionID
Cookie。如果它存在,我调用服务器以查看它是否仍然有效。如果是,我返回一个User
对象,其中包含sessionID和完整的用户名(我在我的应用程序中需要这个)。Login
对话框。用户输入用户名和密码。我调用AuthenticationService
,检查用户名+密码是否有效,然后返回User
个对象。 sessionID存储了cookie。sessionID
Cookie。这就是sessionID的创建方式:
String sessionID = UUID.randomUUID().toString();
到目前为止这是正确的吗?
答案 0 :(得分:2)
这也可能有所帮助。我也使用了你的方法,我需要更广泛的用户访问控制。你也应该看看SSL。选择适合您需求的方法。
答案 1 :(得分:1)
无需定时器,只需在客户端设置cookie过期即可。通常,在允许的“活动”时间范围内的每个客户端请求都应该更新cookie的到期时间(向前移动)和服务器端会话到期时间(!important )。
答案 2 :(得分:0)
在我的GWT应用程序中,我想在客户端建立会话。为此,我创建了一个计时器,并为每个导航事件检查计时器。如果超过了计时器的时间限制,那么我将渲染登录面板。详细代码 See this