我是LDAP和Active Directories的新手。
我需要构建一个有资格访问特定计算机的用户的活动目录。当用户在Web界面(在C#中创建)中输入用户名和密码时,会通过LDAP查询将其发送到活动目录到活动目录。如果登录成功,AD将返回用户的电子邮件地址。
是否可以设置Active Directory以在本地实现上述方案?我正在使用Windows 7旗舰版。我已经安装了ADAM用于LDAP访问。
此致
约翰。
答案 0 :(得分:3)
由于您使用的是.NET 3.5及更高版本,因此您应该查看System.DirectoryServices.AccountManagement
(S.DS.AM)命名空间。在这里阅读所有相关内容:
Managing Directory Security Principals in the .NET Framework 3.5
基本上,您可以定义域上下文并轻松在AD中查找用户和/或组:
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// validate username/password combo
if (ctx.ValidateCredentials(username, password))
{
// if valid - find user
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, username);
if (user != null)
{
return user.EmailAddress;
}
}
新的S.DS.AM让您可以轻松地与AD中的用户和群组一起玩!
对于ADAM(或今天称为AD LDS),您可以使用
PrincipalContext ctx = new PrincipalContext(ContextType.ApplicationDirectory);
与您的ADAM目录建立上下文 - 不确定,但您可能必须提供某种形式的附加信息才能知道要使用的应用程序目录(我从来没有在ADAM上玩这个)。而且:我不确定您是否可以针对ADAM商店验证凭据....您只需要查看并尝试!