-1
我有一个简单的要求,即不允许用户一次登录多个浏览器。相同的浏览器很好。在同一台机器上没有多次登录但允许使用相同的浏览器
什么是可以完成的最简单的事情?
式技术:.NET 4.0和SQL服务器2008 R2
我有一个简单的要求,即不允许用户一次登录多个浏览器。相同的浏览器很好。在同一台机器上没有多次登录但允许使用相同的浏览器
什么是可以完成的最简单的事情?
式技术:.NET 4.0和SQL服务器2008 R2
见下面我建议:
LastActivityDate
为每个用户。如果您使用的是asp.net SqlMembershipProvider
- 该字段在那里存在,如果您使用其他身份验证机制 - 可能需要创建该字段并根据某个用户的每个请求进行更新。LoggedIn
。当用户登录时,该字段将被设置为true。如果您使用的是asp.net SqlMembershipProvider
,则可以将其值存储在Comment
字段中。LoggedIn
字段为false
。使用window.onbeforeunload
javascript事件。LoggedIn
字段,如果它为假 - 您只需处理该操作。如果不是,则应检查LastActivityDate
值,如果超过了超时值,则将定义(让我们说3分钟)处理操作。如果没有 - 拒绝并显示错误信息。此附加检查是必需的,因为我们无法保证始终执行window.onbeforeunload
。LastActivityDate
时相应地调用超时服务器动作。这个脚本应该在登录用户可访问的每个页面上定义。我希望这个方法很清楚。
你是说'登录到多个浏览器'是什么意思? – Egor4eg 2013-04-25 11:10:13
阅读SO的常见问题。你有什么尝试?你应该先显示你的努力。 http://stackoverflow.com/faq#questions – Javiere 2013-04-25 11:14:20
当我说多个浏览器我的意思是说我登录IE,然后我打开FF并尝试登录,我不应该被允许。但是,如果我在IE中打开一个新标签,那么它很好,因为它是相同的浏览器。如果我去了另一台机器并尝试登录,那么我不应该被允许,因为我已经在IE中的一台机器上登录。 – Varun 2013-04-25 11:18:33