获取访问该应用程序的客户端用户名

时间:2014-05-15 05:29:04

标签: asp.net iis-7

我创建了一个asp.net应用程序,并且我已经编写了以下代码来获取用户名

 string username=  System.Web.HttpContext.Current.User.Identity.Name.ToString() ;

在我在IIS中托管我的应用程序之前它正在工作

在IIS中托管应用程序后,它仍然只显示用户名作为我的用户名..

但我需要访问应用程序的客户端的用户名

访问我的应用程序无需身份验证。任何人都可以访问我的应用程序,我需要获取客户端的用户名

有没有办法实现这个目标?

由于

1 个答案:

答案 0 :(得分:0)

如果应用程序不需要身份验证(未设置身份验证元素的mode属性或在web.config文件中将其设置为None)

<authentication mode="None" />

并且在IIS中启用了匿名访问(默认情况下),HttpContext.User属性返回默认的匿名主体,这是所有用户的主体。

要获取每个用户的名称,您需要实施一种身份验证方案 - Windows,Forms或Passport。例如,要在Intranet站点上获取用户的Windows帐户名,您需要将身份验证模式设置为Windows,并将IIS身份验证设置为Integration Windows身份验证(并禁用匿名身份验证),然后使用User.Identity.Name。 / p>