gpt4 book ai didi

c# - 阻止用户两次登录 Web 应用程序的最简单方法是什么

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:06 24 4
gpt4 key购买 nike

我有可以登录到我的站点的用户。我不使用 asp.net 提供程序(我有自己的用户存储)但使用表单例份验证。

不,我想阻止用户登录我的应用程序两次。

现在完成这个最简单的事情是什么?

想到在用户记录中数据库多一个字段

但是还有更简单的吗?整个应用程序是否有一种“ session ”,我可以记住谁登录(并且不会随机刷新)?

可能在缓存中(但缓存有时会被刷新)

我见过一个例子,其中一个带有用户名的文件被写入磁盘(并在注销时删除)

编辑:

问得好:登录两次是什么意思。我的意思是当用户登录另一台计算机或当另一个人使用相同的凭据登录时

最佳答案

Session对象确实是最佳选择,在 MVC 和类 ASP.NET 中。

默认情况下, session 将在用户不活动 20 分钟后超时,因此他们将在该(可配置的)时间段后“自动”注销。

在您的代码中,只需确保引用了 System.Web 程序集,您就可以使用 Session 对象。


更新(问题更新后):

要跨计算机/浏览器跟踪登录状态,您需要一种方法来跟踪“有效”登录。

关于它的一个好方法是发出“票”——这是一个可以存储在数据库中的 token (针对用户记录)并且浏览器在每次请求时返回(cookie 是返回的好方法它)。

当用户登录时,您会发出一张票。每当这张票与 cookie 中的票不匹配时,您就会将其注销。只有拥有当前票证的浏览器/计算机才会登录。

关于c# - 阻止用户两次登录 Web 应用程序的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4279262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com