加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 防止在ASP .Net中为单个用户进行多次登录

发布时间:2020-12-16 06:42:41 所属栏目:asp.Net 来源:网络整理
导读:我正在研究如何最好地防止单个用户帐户在webforms应用程序中多次登录.我知道MembershipUser.IsOnline存在,但我读过一些论坛和博客条目,表明这可能不可靠,特别是在用户关闭浏览器(没有注销)并尝试使用其他机器或浏览器登录的情况下. 我看着实现过去的post类型
我正在研究如何最好地防止单个用户帐户在webforms应用程序中多次登录.我知道MembershipUser.IsOnline存在,但我读过一些论坛和博客条目,表明这可能不可靠,特别是在用户关闭浏览器(没有注销)并尝试使用其他机器或浏览器登录的情况下.

我看着实现过去的post类型系统;用户登录旧用户时,只需启动即可.看起来FormsAuthentication.Signout()仅适用于当前用户.

我错过了一个技巧,是否有更好的方法来阻止从多个不同位置登录相同的用户名?

解决方法

我最近遇到了同样的问题,这就是我如何解决它.我将一个值放入缓存中,在X分钟后过期.在我的代码中,我每Y分钟都有一次 AJAX回调(y

当用户尝试登录时,首先检查凭据是否有效.如果它们是它然后去检查以查看该用户的缓存值是否存在.如果是,我知道有人使用这些凭据登录.然后我允许用户取消或记录其他用户.如果他们单击“记录另一个用户”,则缓存值将更改为新值,并且下次他们具有上述AJAX回调时,原始用户将重定向到登录页面.总的来说,它的工作非常好,没有我们用户的抱怨.

关于这种技术的几点说明:

>您不能将SessionID用作以上建议因为它改变了每次会话变量根据您的设置调用.我们我们首先遇到了这张脸首先尝试使这项工作.>您可以登录两个用户????在一个人被启动前Y分钟????所以明智地选择你的时间.>如果用户尝试在缓存之前登录????到期(比如关闭后)????窗口)他们会收到消息????另一个用户已登录.>设置缓存值时,不能仅使用数字,因为它们与某些内部ASP.NET内容冲突.确保在值的开头添加一个键.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读