C#-Windows身份验证-如何从HttpContext用户';s完整域名(FQDN)

C#-Windows身份验证-如何从HttpContext用户';s完整域名(FQDN),c#,authentication,active-directory,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 MyExceptio

假设存在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\u name),但我需要它:chiled.root.f1dm.com\user\u name

我有办法吗?我只需要Windows当前用户使用它(因此计算机的域名对我没有帮助)。
谢谢

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

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

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

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

您的HTTP上下文未本质上连接到Active Directory。我不相信有任何方法可以从HTTP上下文中获得您想要的内容。唯一可能的方法是查看当前用户的实际类型。如果用户的实际实现扩展了您正在查找的数据,那么这是可能的。您的HTTP上下文与Active Directory没有本质上的连接。我不相信有任何方法可以从HTTP上下文中获得您想要的内容。唯一可能的方法是查看当前用户的实际类型。如果用户的实际实现扩展了您正在查找的数据,那么这可能是可能的。谢谢!不幸的是,该用户是netbiosName\user\u name格式的-因此它无法帮助我…谢谢!不幸的是,该用户是netbiosName\user\u name格式的-因此它无法帮助我。。。