Active directory 以编程方式设置ActiveDirectoryMembershipProvider的connectionString

Active directory 以编程方式设置ActiveDirectoryMembershipProvider的connectionString,active-directory,asp.net-membership,Active Directory,Asp.net Membership,可以使用 new PrincipalContext(ContextType.Domain,null) 不为Active Directory提供任何连接字符串 使用ActiveDirectoryMembershipProvider时,必须在web.config中提供LDAP端点 我正在工作的站点将部署在多个站点上,我不想在web.config中为每个部门填写详细信息 在MSDN上,指定了3个(!)成员资格提供程序来处理3个域,这并不令人印象深刻。然而,这篇文章是从2005年开始的,它处理的是

可以使用

  new PrincipalContext(ContextType.Domain,null)
不为Active Directory提供任何连接字符串

使用
ActiveDirectoryMembershipProvider
时,必须在
web.config
中提供LDAP端点

我正在工作的站点将部署在多个站点上,我不想在
web.config
中为每个部门填写详细信息

在MSDN上,指定了3个(!)成员资格提供程序来处理3个域,这并不令人印象深刻。然而,这篇文章是从2005年开始的,它处理的是一个不同的任务,然后是我所追求的

问题:

是否可以使用
ActiveDirectoryMembershipProvider
,使LDAP端点不在web.config中硬编码


我宁愿使用
ActiveDirectoryMembershipProvider
而不是
PrincipalContext
来(潜在地)调用
ChangePassword
等功能。

不,如果不指定目标LDAP服务器,就不可能使用
ActiveDirectoryMembershipProvider

必须指定连接字符串,并且该字符串必须包含服务器(包含)

必须创建ConnectionString元素(ASP.NET设置架构) Web.config文件中标识Active Directory的项 要使用的服务器、Active Directory域或ADAM应用程序分区。 提供程序将仅在域范围或子范围内运行 在一个域内


如果您想支持ActiveDirectory林,并且丢失表单身份验证是一种选择,请考虑使用Windows身份验证。Windows身份验证将使用NTLM和Kerberos在林中获取用户的身份,并且您仍然可以通过模拟更改用户密码。请参阅。

“。在某种程度上,LDAP端点不是在web.config中硬编码的?”@user2864740,我不确定我是否理解这个问题。Windows身份验证不需要在web.config中指定LDAP端点,我明确地说,使用
ActiveDirectoryMembershipProvider
是不可能的。