Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.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
C# ASP.NET中返回了错误的用户_C#_Asp.net Mvc_Authentication - Fatal编程技术网

C# ASP.NET中返回了错误的用户

C# ASP.NET中返回了错误的用户,c#,asp.net-mvc,authentication,C#,Asp.net Mvc,Authentication,我很少问工作中的人,但没有人能帮我。就是这样 我在域名上。Windows身份验证。拒绝匿名 我在本地webdev服务器上启动我的应用程序。然后尝试访问它。所以 <%= Page.User.Identity.Name %> <%= HttpContext.Current.User.Identity.Name %> 在我的.aspx页面中 当我访问这个(在这个例子中,我只想看到我的登录用户的名字),我得到我的用户名,就像预期的那样。但是,当我想“测试”我的应用程序(仍然

我很少问工作中的人,但没有人能帮我。就是这样

我在域名上。Windows身份验证。拒绝匿名

我在本地webdev服务器上启动我的应用程序。然后尝试访问它。所以

<%= Page.User.Identity.Name %>
<%= HttpContext.Current.User.Identity.Name %>

在我的.aspx页面中

当我访问这个(在这个例子中,我只想看到我的登录用户的名字),我得到我的用户名,就像预期的那样。但是,当我想“测试”我的应用程序(仍然在第一个帐户中运行)并在另一个浏览器中访问它时(不,我不笨,当然是在另一个windows帐户下,为测试而设计的),我仍然会得到第一个用户名。所以问题是:User.Identity.Name返回我启动应用程序的用户的名称,而不是通过浏览器访问应用程序的用户的名称

有什么建议吗?:)


祝您有愉快的一天

输出缓存是一个常见的原因:用户B可能会获得为用户a生成的页面的缓存副本。

接受的答案(如上面问题的评论所示)是:


集成web服务器无法正确处理Windows身份验证。IIS应该做得更好,能够识别不同的用户。问题的根源是集成的web服务器。

我认为第一个帐户仍在运行是您的问题。你能解释一下你的意思吗?它的意思是:我在一个帐户上运行它,VisualStudio在这个帐户上运行,webdev服务器在这个帐户上运行。然后我通过另一个用户帐户访问此跑步应用程序。是不是更清楚一点?(我无法访问未在服务器上运行的应用:)@Marty:集成web服务器无法正确处理Windows身份验证。改用IIS。@WiktorZychla谢谢你的提示。该死,我在工作。开发软件:),并需要在本地进行测试。即使是我的老板也试图解决这个问题,他(我也是)认为应该可以正常工作。但也许我是一个特别的人:)你可以在本地安装IIS(它内置于Windows中),这与缓存无关。它被禁用了,即使我第一次访问不同的页面,它也在那里。无论如何,谢谢你抽出时间。