0
我通过使用以下代码获取用户名:部署asp.net应用程序
txtName.Text = Environment.UserName;
我已经在IIS中部署了代码,在运行应用程序时,我在文本框中将 用户名变为“NETWORK SERVICE”,而不是记录的用户名。
而我正在使用FORMS身份验证模式。 (此为强制性的)
在此先感谢
我通过使用以下代码获取用户名:部署asp.net应用程序
txtName.Text = Environment.UserName;
我已经在IIS中部署了代码,在运行应用程序时,我在文本框中将 用户名变为“NETWORK SERVICE”,而不是记录的用户名。
而我正在使用FORMS身份验证模式。 (此为强制性的)
在此先感谢
窗体身份验证意味着您为用户的形式组织,使他们能够进入他们的凭据(也就是他们的用户名和密码),并从现在开始,如果他们已经正确地输入了他们的凭证,就知道他们是谁(通过在浏览器上设置身份验证cookie,并执行其他许多操作)。
当您使用Environment.UserName时,您所做的是在当前应用程序正在运行的权限下获取用户的名称。如果您在IIS6.0中查看应用程序池(AppDomain),那么您应该验证您的网站是否以用户的身份运行网络服务。
所以,你必须使用:
username.Text = HttpContext.Current.User.Identity.Name;