您好,在我的域中,我们有一个应用程序,其中域管理员使用user / password登录。 验证凭证是否有效,我使用此代码。
public bool IsValidDomainCredential(string user , string password)
{
if (password == null || user == null) { return false; }
bool valid = false;
using (PrincipalContext context = new PrincipalContext(ContextType.Domain,"DWfoo.foo"))
{
valid = context.ValidateCredentials(user, password);
}
return valid;
}
效果很好,但是今年我们的管理员混合使用了强化智能卡和密码。
智能卡驱动程序中的某些东西似乎在执行时会与此代码cuz交互,从而使应用程序崩溃。
System.DirectoryServices.Protocols.DirectoryOperationException
服务器无法处理目录请求
有时它不会崩溃,并要求输入智能卡的PIN码,然后如果我不取消,则取消崩溃,如果我取消我可以登录。
恐怕这会在活动目录上的任何应用程序调用中发生 我有0个想法,如何完全忽略智能卡驱动程序和交互。