在IIs下发布并发布时的用户名更改

时间:2013-08-09 05:41:26

标签: asp.net

我在程序中发现了一个奇怪的错误(或者可能不是bug,我不知道) 我正在编写asp.net Web应用程序,并拥有标准的asp.net数据库,用于配置文件成员资格和安全性。 所以当我写这样的东西时

qwe.text=Page.User.Identity.Name.ToString()

假设我们的用户名是John,那么 我按ctrl + F5并启动我的webapplication并查看:

qwe.text = "John"

没关系。但后来我配置了Iis,发布了我的项目。 转到同一页面,猜猜我看到了什么: 约翰之前有空白字符的qwe.text = " John"。 我在另一个名字上测试它的效果相同。 我有点困惑,可能会导致这么好的错误。 这就像魔术,而不是编程......

1 个答案:

答案 0 :(得分:0)

ASP.NET从auth Cookie返回User.Identity.Name,它已由您的身份验证模块设置。

  1. http请求/响应中的auth cookie可以在网络进程之间由其他系统(浏览器,代理,IHttpModule,IIS)修改。

  2. IIS /本地环境的身份验证模块可能有所不同。检查Web.Config <httpModules>包含其中任何一个