Environment.UserName返回defaultAppPool

时间:2013-05-17 11:42:23

标签: c# asp.net-mvc-4

我无法获取登录计算机的用户名 Environment.UserName返回'defaultAppPool',我需要返回UserName。有多么恶劣?

2 个答案:

答案 0 :(得分:2)

您可以尝试以下方法之一:

方法1:

string userName = HttpContext.Current.User.Identity.Name;

方法2:

        private static string GetCurrentUserName()
        {
          string[] pathParts = Thread.CurrentPrincipal.Identity.Name.Split('\\');
            if (pathParts.Length != 0)
            {
                return pathParts[pathParts.Length - 1];
            }

            return string.Empty;
        }

答案 1 :(得分:1)

在ASP.NET中,您必须使用 User.Identity.Name http://msdn.microsoft.com/en-us/library/system.web.httpcontext.user.aspx

然后通过测试:

if (User.Identity.IsAuthenticated)
   Label1.Text = User.Identity.Name;
else
   Label1.Text = "No user identity available.";