使用C#程序代码实现以上问题的解决方式:
using System.DirectoryServices.AccountManagement;
public bool IsUserAuthenticated(string username, string password, string domain) { using (var context = new PrincipalContext(ContextType.Domain, domain)) { // find the user var user = UserPrincipal.FindByIdentity(context, username);
if (user != null)
{
// validate the credentials
return context.ValidateCredentials(username, password);
}
else
{
// user not found in AD
return false;
}
}
}
在上面的代码示例中,我们使用了C# .NET框架的System.DirectoryServices.AccountManagement命名空间中的PrincipalContext类,它可以帮助我们连接到域并验证用户的凭据。我们通过传递域名称和用户凭据来实现这个目的。如果用户被找到并凭据有效,那么返回True,否则返回False.