使用Forms身份验证模式在IIS6.0中部署asp.net应用程序

时间:2011-11-22 05:08:36

标签: asp.net

我使用以下代码获取用户名:

txtName.Text = Environment.UserName;

我已经在IIS中部署了代码,然后在运行应用程序时,我得到了 用户名为文本框中的“NETWORK SERVICE”,而不是记录的用户名。

我正在使用FORMS身份验证模式。 (这是强制性的)

提前致谢

1 个答案:

答案 0 :(得分:0)

表单身份验证表示您为用户提供表单,以便他们可以输入凭据(即用户名和密码),从现在开始如果他们正确输入了他们的凭证,你就知道他们是谁(通过在他们的浏览器上设置身份验证cookie,以及做很多其他事情)。

当您使用 Environment.UserName 时,您所做的是获取当前应用程序正在运行的权限下的用户名。如果您在IIS6.0中查看应用程序池(AppDomain),那么您应该验证您的网站是否以网络服务用户身份运行。

所以,你必须使用:

username.Text = HttpContext.Current.User.Identity.Name;