如何判断计算机是否是C#中特定Windows域的一部分?

我有一个内部的C#应用​​程序,我想开始外部部署。 我已经有了一些function,我只想让内部用户可以使用,但是我不想打扰多个版本。 我也不想改变内部用户正在使用该程序的方式。

所以,我在想的是:1)检查程序正在运行的PC的域。 如果是我公司的域名,那么打开内部function。 该程序可能在与域脱机并脱机运行的PC上运行。

2)在上面有一个密码选项来启用内部function。

所以,对于域计算机上的内部用户来说,它看起来和以前一样。 对于非域计算机上的内部用户,他们有能力打开内部function。 对于外部用户,他们没有得到内部function。

在C#中实现“是域的计算机部分,即使离线”的最佳方式是什么?

Solutions Collecting From Web of "如何判断计算机是否是C#中特定Windows域的一部分?"

检查Environment.UserDomainName 。

Console.WriteLine(Environment.UserDomainName); 

我认为这比这更复杂,因为这很容易找到并创建一个欺骗域。

我建议在你的LDAP目录中设置一个特定的值,并通过LDAP查看这个值(可能使用一些加密来使其更难)。 这将有你想要的优势,而不是很容易被绕过。

它仍然可以被绕过,不太容易。