Csharp/C#教程:如何防止用户从多个位置或同一台PC上的不同浏览器登录分享


如何防止用户从多个位置或同一台PC上的不同浏览器登录

我正在创建一个用户无法尝试多次登录的应用程序。 如果特定用户登录,我的数据库标志值将设置为1 ,这意味着没有其他具有相同用户名和密码的成员可以登录。

如果用户注销我的数据库标志值设置为0 。 这一切都运行良好但现在我有一个不同的问题,即当用户突然关闭浏览器而没有注销页面或会话超时然后自动数据库标志值应设置为0 。 现在我不知道该怎么做。 请给我任何解决方案。

在您的Global.asax文件中,您有Session_OnEnd()

 public void Session_OnEnd() { // Set flag to 0 } 

如果您的sessionState设置为INPROC (这是默认设置),这将没关系,如果您已将其手动调整为StateServerSQL Server则此事件将被忽略。

当浏览器关闭窗口时,您可以在JavaScript中使用onbeforeunload

 window.onbeforeunload = function(e) { // call an Ajax function to reset the state. }; 

只需在数据库中创建一个isloggedin列

例如:

 USERNAME | PASSWORD | isloggedin | logintimestamp user | pass | 0 | 3/9/2013 23:59:59 

并在用户登录时将其设置为1,并且在用户登录时使用ajax更新db中的当前时间…

如果这不能使定时器函数根据时间戳检查登录值https://dev.mysql.com/doc/refman/5.1/en/events.html

这是教程: http : //www.sitepoint.com/how-to-create-mysql-events/

上述就是C#学习教程:如何防止用户从多个位置或同一台PC上的不同浏览器登录分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

www.ctvol.com true https://www.ctvol.com/cdevelopment/991929.html Article Csharp/C#教程:如何防止用户从多个位置或同一台PC上的不同浏览器登录分享

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/991929.html

(0)
上一篇 2021年12月24日
下一篇 2021年12月24日

精彩推荐