如何通过两个属性DC=intech-w和DC=com为LDAP创建连接字符串



我对到远程服务器Active Directory的LDAP连接非常陌生。我的系统管理员只给了我两样东西。"DC=intelchw,DC=com"我有网络管理员用户名和密码,到目前为止,我已经尝试了很多组合,但没有从网络上得到响应。

如果用户存在于Active directory中,我需要验证用户凭据,然后获取他的用户名和其他详细信息,并存储在我的ASP.NET MVC应用程序数据库中。

我的LDAP连接字符串是:

<connectionStrings>
<add name="ADConnectionString" 
connectionString="LDAP://intechww.com/DC=users,DC=com" />
</connectionStrings>

其他Web.config详细信息是

<system.web>
<authentication mode="Forms">
<forms name=".ADAuthCookie" loginUrl="~/User/Verify" timeout="15" slidingExpiration="false" protection="All" />
</authentication>
<membership defaultProvider="MY_ADMembershipProvider">
<providers>
<clear />
<add name="MY_ADMembershipProvider" 
type="System.Web.Security.ActiveDirectoryMembershipProvider" 
connectionStringName="ADConnectionString" 
attributeMapUsername="sAMAccountName" 
connectionUsername="ServiceAccount" 
connectionPassword="********* " />
</providers>
</membership>
</system.web>

我的C#控制器方法是:

[HttpPost]
public ActionResult Verify(User model)
{
if (Membership.ValidateUser(model.username, model.password))
{
FormsAuthentication.SetAuthCookie(model.username, true);
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect");
}
return View();
}

DC=部分是构成LDAP名称的域组件

因此,考虑到您收到的输入,我会尝试以下连接字符串:

LDAP://intechww.com/DC=intechww,DC=com

这将连接到域的

或者:

LDAP://intechww.com/CN=Users,DC=intechww,DC=com

这将连接到域的默认Users容器。

查看Sysinternal AD Explorer,这是一个非常宝贵的工具,可以窥探您的AD内部,了解其中的各个部分(以及LDAP URL是如何寻址的(。

相关内容

最新更新