gpt4 book ai didi

asp.net-mvc-3 - 如何阻止同一用户登录另一台计算机?

转载 作者:行者123 更新时间:2023-12-04 06:19:39 26 4
gpt4 key购买 nike

我基本上想在我的 LogOn 中设置Action 查看用户名并确定用户名已登录的条件语句。
此时应通知用户。
该帐户已登录,如果您认为自己已被劫持... yada yada yada。
我想我可以在这个条件之后添加一些东西,有没有像我编造的方法 Membership.CheckIfUserIsOnline(string username)已经出来了吗?

   if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
//See the line below, I made this method up.
if (Membership.CheckIfUserIsOnline(model.UserName){
ModelState.AddModelError("", "Someone else is logged into this account.");
}

最佳答案

如果您使用 session 状态,我将存储(理想情况下在应用程序范围的缓存中或在您的应用程序数据库中)以用户 ID 为键的记录,存储 session ID。

然后,当您要检测多次登录时,根据当前 session ID 检查登录的用户 ID。如果存储在数据库中的 session ID 与当前 session 的 session ID 不匹配,则可能表示多次登录。

您必须处理使数据存储中的值过期(这就是应用程序范围的缓存可能比应用程序数据库更好的原因)和 session 的正常终止(注销时),但如果您仅将其用于提醒用户,它可能已经足够好了。

关于asp.net-mvc-3 - 如何阻止同一用户登录另一台计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6751557/

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