Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.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# 在Web应用程序中获取用户名_C#_Asp.net - Fatal编程技术网

C# 在Web应用程序中获取用户名

C# 在Web应用程序中获取用户名,c#,asp.net,C#,Asp.net,我有一个ASP.net应用程序正在服务器上托管。我想从系统中获取客户端用户名,并将该名称用作保存在服务器上的XML文件的标题。 我尝试过各种不同的方法,例如: Environment.UserName(); WindowsIdentity.GetCurrent() 但是,不断返回的只是服务器上的NetworkService帐户名 有人能帮忙吗 谢谢鉴于您的应用程序已设置(窗体或Windows身份验证),您可以通过以下方式获取当前用户名: HttpContext.Current.User.Iden

我有一个ASP.net应用程序正在服务器上托管。我想从系统中获取客户端用户名,并将该名称用作保存在服务器上的XML文件的标题。 我尝试过各种不同的方法,例如: Environment.UserName(); WindowsIdentity.GetCurrent()

但是,不断返回的只是服务器上的NetworkService帐户名

有人能帮忙吗


谢谢

鉴于您的应用程序已设置(窗体或Windows身份验证),您可以通过以下方式获取当前用户名:

HttpContext.Current.User.Identity.Name

鉴于应用程序已设置(窗体或Windows身份验证),您可以通过以下方式获取当前用户名:

HttpContext.Current.User.Identity.Name
如果您的用户是,您可以使用

如果您的用户是,您可以使用

尝试以下方法:

HttpContext.Current.User.Identity.Name
这仅在用户通过表单/成员身份验证或Windows进行身份验证时有效,您可以事先检查:

string userName = "Anonymous";
if (User.Identity.IsAuthenticated)
   userName = HttpContext.Current.User.Identity.Name
试试这个:

HttpContext.Current.User.Identity.Name
这仅在用户通过表单/成员身份验证或Windows进行身份验证时有效,您可以事先检查:

string userName = "Anonymous";
if (User.Identity.IsAuthenticated)
   userName = HttpContext.Current.User.Identity.Name

您的web应用程序正在NetworkService帐户下运行(默认情况下)。如果您想知道用户NT帐户的用户名,您应该检查模拟。这样,应用程序将使用用户的凭据运行


对于公共网站,这是不可能的,也不应该这样做。但是内部公司应用程序可以这样做。

您的web应用程序(默认情况下)在NetworkService帐户下运行。如果您想知道用户NT帐户的用户名,您应该检查模拟。这样,应用程序将使用用户的凭据运行


对于公共网站,这是不可能的,也不应该这样做。但是内部公司应用程序可以这样做。

您希望web客户端的用户名和WindowsIdentity或Env.UserName返回服务器端用户名,只有在启用了身份验证的情况下,该用户名可能与web客户端用户名相同


我认为要解决您的问题,您应该查看请求标题,其中一个标题中应该有一个用户名或useragent字符串,告诉您需要什么。

您需要web客户端的用户名,WindowsIdentity或Env.username返回服务器端用户名,仅当您启用了身份验证时,它可能与web客户端用户名相同


我认为要解决您的问题,您应该查看请求头,其中一个头中应该有一个用户名或useragent字符串,告诉您需要什么。

您使用的方法为您提供了正在运行线程处理用户请求的用户。默认情况下,该用户配置为运行应用程序运行所在的应用程序池。你需要的是其他一些东西,这里的人指出了如何获取。你使用的方法为你提供了运行线程处理用户请求的用户。默认情况下,该用户配置为运行应用程序运行所在的应用程序池。你需要的是其他东西,这里的人指出了如何获取。尝试了这个,但它仍然返回NetwrokService帐户尝试了这个,但它仍然返回NetwrokService帐户