【发布时间】:2016-07-13 07:18:07
【问题描述】:
我遇到了一个看似简单的问题,但却给我带来了一些麻烦。
假设我有两个受信任的 AD 域: DEMO.intern 和 DEMO.trust
我需要在使用 Windows 身份验证的应用程序中获取当前用户的 FQDN。来自两个域的用户都可以使用它。我需要知道哪个用户来自哪个域。
显然,
Environment.UserDomainName
或
System.Security.Principal.WindowsIdentity.GetCurrent().Name
在这两种情况下都无法返回 DEMO。
我知道:
System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName
给我本地计算机的完整域名,但是如何为当前登录的用户实现呢?
我也试过了:
var host = Dns.GetHostEntry(Environment.UserDomainName);
host.HostName.Dump();
没有成功给我错误“没有这样的主机是已知的”。那么如何获取登录用户的完整域名,例如 DEMO.intern 而不仅仅是 DEMO?
【问题讨论】:
标签: c# .net active-directory windows-authentication