using System.DirectoryServices.AccountManagement;
//利用PrincipalContext验证域账号密码是否有效
public bool IsValid(string accountName, string password)
{
string domain = Path.GetDirectoryName(accountName);
string userName = Path.GetFileName(accountName);
using (var PC = new PrincipalContext(ContextType.Domain, domain))
{
return PC.ValidateCredentials(userName, password);
}
}
//验证当前用户是否属于administrators
public bool IsCurrentUserAdminstrator()
{
try
{
var user = WindowsIdentity.GetCurrent();
var principal = new WindowsPrincipal(user);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
catch (UnauthorizedAccessException)
{
return false;
}
}