繁体   English   中英

在Web App中获取用户名

[英]Get UserName in Web App

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

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

谁能协助这个。

谢谢

假定您的应用程序已设置身份验证 (“表单”或“ Windows身份验证”),则可以通过以下方式获取当前用户的名称:

HttpContext.Current.User.Identity.Name

如果您的用户通过了身份验证 ,则可以使用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客户端的用户名和WindowsIdentity或Env.UserName返回您服务器端的用户名,只有在启用身份验证后,才可以与Web客户端用户名相同。

我认为要解决您的问题,您应该查看Request标头,在这些标头之一中,应该有一个用户名或useragent字符串告诉您您需要什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM