我是 LDAP 和 Active Directory 的新手。
我需要为有资格访问特定计算机的用户建立一个活动目录。当用户在 Web 界面(用 C# 创建)中输入用户名和密码时,它会通过对活动目录的 LDAP 查询发送到活动目录。如果登录成功,AD 将返回用户的电子邮件地址。
是否可以设置 Active Directory 以在本地实现上述场景?我正在使用 Windows 7 旗舰版。我已经为 LDAP 访问安装了 ADAM。
问候,
约翰。
我是 LDAP 和 Active Directory 的新手。
我需要为有资格访问特定计算机的用户建立一个活动目录。当用户在 Web 界面(用 C# 创建)中输入用户名和密码时,它会通过对活动目录的 LDAP 查询发送到活动目录。如果登录成功,AD 将返回用户的电子邮件地址。
是否可以设置 Active Directory 以在本地实现上述场景?我正在使用 Windows 7 旗舰版。我已经为 LDAP 访问安装了 ADAM。
问候,
约翰。
由于您使用的是 .NET 3.5 及更高版本,因此您应该查看System.DirectoryServices.AccountManagement
(S.DS.AM) 命名空间。在这里阅读所有相关信息:
在 .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 商店验证凭据....您只需要查看并尝试!