C# - Windows身份验证 - 如何从HttpContext用户获取Full doMain名称(FQDN)

时间:2017-01-03 16:33:44

标签: c# authentication active-directory

假设有Active Directory域:“ chiled.root.f1dm.com

Netbios名称:“ CHILED1F1

鉴于此代码:

if (HttpContext.Current == null || HttpContext.Current.User == null ||
            !HttpContext.Current.User.Identity.IsAuthenticated)
        {
            throw new MyException(WRONG_USERNAME_OR_PASSWORD_ERROR_CODE, WRONG_USERNAME_OR_PASSWORD_ERROR_MESSAGE);
        }

我正在寻找一种从 HttpContext 到达用户的完全限定域名(FQDN)的方法。目前我从Netbios表单中获取用户域的上下文(例如:CHILED1F1 \ user_name),但我需要这样: chiled.root.f1dm.com \ user_name

我有办法吗?我只需要Windows当前用户(因此机器的域名对我没用)。 谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的用户登录使用AD,您可以尝试通过ServerVariables获取他的名字。例:

string username = Request.ServerVariables["AUTH_USER"].ToString();