Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net窗体身份验证多人以相同用户名登录_Asp.net_Asp.net Mvc 3_Forms Authentication - Fatal编程技术网

asp.net窗体身份验证多人以相同用户名登录

asp.net窗体身份验证多人以相同用户名登录,asp.net,asp.net-mvc-3,forms-authentication,Asp.net,Asp.net Mvc 3,Forms Authentication,我有一个使用表单身份验证的MVC3网站,我想知道如果几个或多个用户使用同一用户帐户登录,是否会出现任何问题 我一直在尝试排除我们遇到的一个错误(看起来网站服务器与数据库服务器的通信出现问题),但是我只是想排除由于帐户共享而导致问题的可能性 谢谢不,就ASP.NET表单身份验证机制而言(我说的是表单身份验证,而不是ASP.NET会话,这是两个完全不同的东西),绝对没有问题。通过cookie跟踪用户,请求是无状态的。数据库也能很好地处理并发性 当然,开发人员可以编写在这种情况下根本不起作用的代码,即

我有一个使用表单身份验证的MVC3网站,我想知道如果几个或多个用户使用同一用户帐户登录,是否会出现任何问题

我一直在尝试排除我们遇到的一个错误(看起来网站服务器与数据库服务器的通信出现问题),但是我只是想排除由于帐户共享而导致问题的可能性


谢谢

不,就ASP.NET表单身份验证机制而言(我说的是表单身份验证,而不是ASP.NET会话,这是两个完全不同的东西),绝对没有问题。通过cookie跟踪用户,请求是无状态的。数据库也能很好地处理并发性


当然,开发人员可以编写在这种情况下根本不起作用的代码,即多个用户连接到同一个帐户是因为他们做错了什么。例如,开发人员开始使用ASP.NET会话来规避HTTP协议的无状态特性。这就是问题可能开始出现的地方。例如,由于ASP.NET会话不是线程安全的,ASP.NET会自动序列化对它们的访问,这意味着您不能有来自同一会话的并发请求=>它们是按顺序排队和执行的。

是,但使用相同用户名/密码的两个不同登录将生成两个不同的会话。@MystereMan,你指的是什么课程?ASP.NET会话?还是表单身份验证会话?因为表单身份验证会话是绝对无状态的。在身份验证cookie中加密的表单身份验证票证将在每次请求时解密,并且用户主体将由表单身份验证模块自动填充。我指的是您的第二段,其中您讨论了asp.net会话的问题。我是说,这不会是一个问题,因为来自两台具有相同帐户的不同计算机的两个不同登录名将具有不同的asp.net会话。为什么混合使用登录名/帐户和asp.net会话?这是两件完全不同的事情。您可以很好地使用表单身份验证(您称之为登录和帐户)并完全禁用ASP.NET会话。另一方面,您可以有一个使用ASP.NET会话的应用程序,并且根本没有任何身份验证—只有匿名用户才能访问它。我建议不要使用ASP.NET会话,不要以无状态和RESTful的方式设计应用程序。我认为我们在谈论彼此。您可以使用表单身份验证和会话。你的帖子似乎说两个人使用相同的表单身份验证帐户会共享同一个会话,并会导致问题。事实上,我不明白你关于会话的观点是什么,因为两个登录的用户不会共享同一个会话。你说“当然,开发人员可以编写在这种情况下根本不起作用的代码,即多个用户连接到同一个帐户,因为他们做了错事。”然后继续讨论会话。