Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NET web应用程序中检索登录用户?_C#_Asp.net - Fatal编程技术网

C# 如何在ASP.NET web应用程序中检索登录用户?

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

我正在ASP.Net Web应用程序和代码隐藏中使用windows身份验证,试图检索登录的用户名。我正在使用此例程WindowsIdentity.GetCurrent().Name,但我没有获取用户的名称,而是获取-NT AUTHORITY\NETWORK SERVICE。我需要更改什么,或者我的用户的登录方式与预期不同?

使用
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()返回的是运行应用程序池的用户,而不是登录到您的应用程序中的用户