.NET中的Windows身份验证

Den*_*nis 5 .net c# vb.net

我有一个.NET应用程序(C#和VB.NET的混合),我想显示一个Windows登录对话框(或我自己的对话框),并使用Windows身份验证对用户进行身份验证.根据要求,我需要让用户在至少一分钟闲置后进行身份验证.我更喜欢.NET本地方式进行Windows身份验证,但对其他方式感兴趣...

Gab*_* GM 11

要对用户进行身份验证,可以使用PrincipalContextValidateCredential方法.确保添加参考.System.DirectoryServices.AccountManagement

//If you are validating on a domain
PrincipalContext pcon = new PrincipalContext(ContextType.Domain);    
if(pcon.ValidateCredential(txtUsername.Text, 
                           txtPassword.Text, 
                           ContextOptions.Negotiate))
{
    //User is authenticated
}
Run Code Online (Sandbox Code Playgroud)

如果您没有针对域验证,请检查其他ContextType.您还可以使用其他选项来验证凭据(ContextOptions).