我有以下代码可以针对Active Directory验证给定的用户名和密码
DirectoryEntry entryInAbsg = new DirectoryEntry("LDAP://....../DC=....,DC=..", username, password,AuthenticationTypes.Secure);
object nativeObject = entryInAbsg.NativeObject;
authenticated = true;
这足以验证用户吗?我是否需要使用DirectorySearcher再次搜索用户? 上面的用户名和密码应该是管理员帐户吗?
答案 0 :(得分:0)
这足以验证用户。但是要执行搜索,您需要创建DirectorySeacher的实例,并将DirectoryEntry对象(entryinAbsg)以及可能需要的任何过滤器传递给构造函数。考虑下面的C#示例;
private DirectorySeacher GetDirectorySeacher(DirectoryEntry entryInAbsg)
{
DirectorySearcher dirSeach = null;
if(dirSearch == null)
{
try
{
dirSearch = new DirectorySeacher(entryInAbsg)
}
catch (DirectoryServicesCOMException e)
{
MessageBox.Show("Authentification Failed!!!, Please Check.", "Error Info", MessageBoxButtons.OK,MessageBoxIcon.Error);
}
return dirSearch;
}
else
{
return dirSearch;
}
}
您可以根据自己的特定需求对其进行自定义。