C# 检查用户是否是特定域上的域用户

C# 检查用户是否是特定域上的域用户,c#,authentication,dns,C#,Authentication,Dns,在我的应用程序中,我希望确保用户在尝试模拟这些详细信息之前插入了有效的域、用户名和密码 为此,我使用了PrincipalContext.ValidateCredentials或此处的函数:。 但是,我发现,如果我输入了另一个域中与我输入的域具有信任关系的用户的用户名和密码,我会得到一个肯定的结果,这是不好的,因为当我尝试使用此域+用户+密码组合模拟时会出现异常 这意味着在我检查用户名+密码是否有效之前,我需要知道用户是否是域的一部分。我尝试使用这里提到的UserPrincipal.FindByI

在我的应用程序中,我希望确保用户在尝试模拟这些详细信息之前插入了有效的域、用户名和密码

为此,我使用了PrincipalContext.ValidateCredentials或此处的函数:。 但是,我发现,如果我输入了另一个域中与我输入的域具有信任关系的用户的用户名和密码,我会得到一个肯定的结果,这是不好的,因为当我尝试使用此域+用户+密码组合模拟时会出现异常

这意味着在我检查用户名+密码是否有效之前,我需要知道用户是否是域的一部分。我尝试使用这里提到的UserPrincipal.FindByIdentity,但它似乎陷入了相同的问题,即使用户不是特定域的一部分,它也会返回true

为便于考虑以下事项, 有两个相互信任的域,每个域中有一个用户:

域1\User1

域2\User2

我需要一个函数,如果我输入:Domain1和User2,它将返回false

注意:如果您遇到这样的情况:我已经检查过了,但是来宾帐户没有启用