我在程序中发现了一个奇怪的错误(或者可能不是bug,我不知道) 我正在编写asp.net Web应用程序,并拥有标准的asp.net数据库,用于配置文件成员资格和安全性。 所以当我写这样的东西时
qwe.text=Page.User.Identity.Name.ToString()
假设我们的用户名是John,那么 我按ctrl + F5并启动我的webapplication并查看:
qwe.text = "John"
没关系。但后来我配置了Iis,发布了我的项目。
转到同一页面,猜猜我看到了什么:
约翰之前有空白字符的qwe.text = " John"
。
我在另一个名字上测试它的效果相同。
我有点困惑,可能会导致这么好的错误。
这就像魔术,而不是编程......
答案 0 :(得分:0)
ASP.NET从auth Cookie返回User.Identity.Name,它已由您的身份验证模块设置。
http请求/响应中的auth cookie可以在网络进程之间由其他系统(浏览器,代理,IHttpModule,IIS)修改。
IIS /本地环境的身份验证模块可能有所不同。检查Web.Config <httpModules>
包含其中任何一个