我想从我的访问ColdFusion应用程序不止一次在同一时间阻止用户。阻止用户在网站上
我有dtlogin,请dtLogLastUpdate,IP和isLogged SQL表。
逻辑是:
会话超时时间为1小时。
当用户登录时,
- 组的Dtlogin =邮戳现在
- dtLogLastUpdate =邮戳现在
- IP =用户IP
- isLogged = 1
我使用每1分钟更新一次AJAX呼叫更新dtLogLastUpdate
。
当我得到用户的登录请求时,只允许它在isLogged
为0或dtLogLastUpdate
超过我的会话超时。
如何管理,当用户关闭浏览器,但之前不注销?他们需要等到会话超时吗?
我会考虑使用onSessionEnd以自动方式记录人员。这将处理关闭浏览器的人员。另外,如果浏览器关闭,则DtLogLastUpdated将为x分钟。如果浏览器已打开并正在进行ajax调用,则会话将保持活动状态,并使dtLogLastUpdated保持最新状态。您可能还想要搜索“coldfusion谁在线”应用程序。那里有一个可能提供代码样本的旧版本。 – steve 2013-03-06 21:19:00
也许你可以注销'旧用户'并允许'新用户'登录。 – 2013-03-06 21:19:44
你不能比较'dtLogLastUpdate'到当前时间吗?如果它在一分钟内还没有ping通,我认为你可以假设他们关闭了他们的标签 – 2013-03-06 21:19:44