using System.DirectoryServices;
public bool CheckDomainUser(string UserName,string UserPassword)
{
try
{
string path = System.Configuration.ConfigurationSettings.AppSettings["DomainString"];
string strUserName = UserName + "@xxx.com.cn";
if(path == "")
{
path = "GC://DC=xxx,DC=com,DC=cn";
}
DirectoryEntry dir = new DirectoryEntry(path,strUserName,UserPassword);
int intCount = dir.Properties.Count;
}
catch
{
return false;
}
return true;
}
/// <summary>
/// 验证用户是否为合法的域用户
/// </summary>
/// <param name="UserName">域用户帐号</param>
/// <returns></returns>
[WebMethod]
[System.ComponentModel.Description("")]
public bool FindDomainUser(string UserName)
{
string strUserName = UserName +"@xxx.com.cn";
string path = System.Configuration.ConfigurationSettings.AppSettings["DomainString"];
if(path == "")
{
path = "GC://DC=xxx,DC=com,DC=cn";
}
string strDomainUser = System.Configuration.ConfigurationSettings.AppSettings["DomainUser"];
string strDomainPassword = System.Configuration.ConfigurationSettings.AppSettings["DomainPassword"];
DirectoryEntry entry = new DirectoryEntry(path,strDomainUser,strDomainPassword);
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.Filter = ("(mail="+strUserName+")");
System.DirectoryServices.SearchResult searchResultOne = mySearcher.FindOne();
mySearcher.Filter = ("(mail="+UserName+"@xxx.com.cn)");
System.DirectoryServices.SearchResult searchResultTwo = mySearcher.FindOne();
if(searchResultOne == null && searchResultTwo == null)
{
return false;
}
else
{
return true;
}
}