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