0

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

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

假设我们的用户名是 John,所以我按下 ctrl+ F5 并启动我的 web 应用程序,然后查看:

qwe.text = "John"

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

4

1 回答 1

0

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

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

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

于 2013-08-09T06:01:33.180 回答