验证域账户的用户名和密码
//验证需要的方法。
public static bool IsAuthenticated(string domain, string username, string pwd)
{
string strPath = "LDAP://OU=People,DC=RCOMM,DC=local";
String domainAndUsername = domain + @"\" + username;
DirectoryEntry entry = new DirectoryEntry(strPath, domainAndUsername, pwd);
try
{ //Bind to the native AdsObject to force authentication.
Object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + username + ")";
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (null == result)
{
return false;
}
//Update the new path to the user in the directory.
strPath = result.Path;
//_filterAttribute = (String)result.Properties["cn"][0];
}
catch (Exception ex)
{
//throw new Exception("Error authenticating user. " + ex.Message);
return false;
}
return true;
}
//调用
if (LoginLayer.IsAuthenticated("kefeng.rcomm.local", "someguy", "admin"))
{
Response.Write("验证成功!");
}
else
{
Response.Write("验证失败!");
}