C# 如何在ASP.NET web应用程序中检索登录用户?
我正在ASP.Net Web应用程序和代码隐藏中使用windows身份验证,试图检索登录的用户名。我正在使用此例程WindowsIdentity.GetCurrent().Name,但我没有获取用户的名称,而是获取-NT AUTHORITY\NETWORK SERVICE。我需要更改什么,或者我的用户的登录方式与预期不同?使用C# 如何在ASP.NET web应用程序中检索登录用户?,c#,asp.net,C#,Asp.net,我正在ASP.Net Web应用程序和代码隐藏中使用windows身份验证,试图检索登录的用户名。我正在使用此例程WindowsIdentity.GetCurrent().Name,但我没有获取用户的名称,而是获取-NT AUTHORITY\NETWORK SERVICE。我需要更改什么,或者我的用户的登录方式与预期不同?使用this.Context.User.Identity.Name,它将获取当前HTTPContext对象的标识:使用this.Context.User.Identity.Na
this.Context.User.Identity.Name
,它将获取当前HTTPContext对象的标识:使用this.Context.User.Identity.Name
,将获取当前HTTPContext对象的标识:将以下内容添加到web.config:
<system.web>
<identity impersonate="true"/>
</system.web>
这将使您的web应用模拟当前登录的用户。这确实有一些影响。重要的一点是,登录用户必须对文件、文件夹、数据库等拥有适当的权限
如果您不想这样做,可以使用
User.Identity
而不是WindowsIdentity.GetCurrent()
将以下内容添加到web.config:
<system.web>
<identity impersonate="true"/>
</system.web>
这将使您的web应用模拟当前登录的用户。这确实有一些影响。重要的一点是,登录用户必须对文件、文件夹、数据库等拥有适当的权限
如果您不想这样做,您可以使用
User.Identity
而不是WindowsIdentity.GetCurrent()
匿名访问是否仍处于打开状态?检查此项我认为此问题可能包含您想要的答案-匿名访问是否仍处于打开状态?检查此项我认为此问题可能包含您想要的答案-添加到答案中,WindowsIdentity.GetCurrent()返回的是运行应用程序池的用户,而不是登录到您的应用程序中要添加到James answer的用户;WindowsIdentity.GetCurrent()返回的是运行应用程序池的用户,而不是登录到您的应用程序中的用户