限制访问Web ASP .NET应用程序的用户数

7 asp.net licensing login

如何限制Web应用程序的用户数量.

您可能希望将Web应用程序限制为一次只处理20个用户.我们公司根据许多许可证销售应用程序,但我们不确定Web应用程序中的行为.

我看到一些建议说当用户登录时你可以将用户帐户标记为"LoggedIn = True".然后每次新的成功登录尝试都会检查"LoggedIn = True"记录的数量.如果超过限制,则拒绝用户.

在这种情况下如何处理意外输入?如果:

  • 用户不单击注销,并关闭浏览器
  • 浏览器崩溃,用户没有机会退出
  • 网络连接中断,客户端电力等等.

以上所有内容仍将设置"LoggedIn = True"标志,并有助于登录用户的数量.这可能会无意中阻止原始身份验证的用户.

如果可能的话,我正在寻找更多ASP.NET解决方案.

Dav*_*d M 4

假设您的用户身份验证在某种程度上是基于会话的,那么所有“意外”情况(这实际上是常态 - 人们似乎很少注销 Web 应用程序)的答案将是,当会话超时时,这些用户插槽将变得空闲。因此,您需要调查应用程序的使用模式。如果很多人登录几分钟,但不超过这个时间,那么 30 分钟的会话超时将意味着很少有人真正使用该应用程序。

根本问题是 Web 应用程序本质上是断开连接的,因此您无法监视用户在页面请求之间实际执行的操作。通常,您会向特定用户出售此类应用程序的许可证(因此,如果一家公司购买 20 个许可证,就会为他们提供 20 个用户名和密码)。然后,您当然可以通过拒绝第二次登录或停用前一次登录来防止使用相同的用户名和密码进行多次登录(这可能是更好的方法,以防有人真正从一台计算机转移到另一台计算机而没有注销其中一台计算机)您概述的原因)。