目前,我有使用窗体身份验证的几个项目,我能够让用户与他们的AD帐户登录。 路上,我一直在做的,是很容易的。
web.config中
//first I set up the connection string to the active directory account
<connectionStrings>
<add name="ADService" connectionString="LDAP://ourDomainController/OU=stores,DC=DOMAIN,DC=net" />
<ConnectionStrings>
//Then I add the membership provider for active directory
<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
<providers>
<clear />
<!--Membership provider for Active Directory-->
<add name="AspNetActiveDirectoryMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADService" attributeMapUsername="sAMAccountName" />
</providers>
</membership>
我无法登录使用Active Directory用户名和密码。 但是,我不能拒绝访问该网站,以特定群体的某些部分。 这种方式搜索整个活动目录,如果你是它的一部分,你可以登录,在一个应用程序中,我会插入到用户的SQL表,然后授权用户访问的网站等,如果他们的一部分SQL表的。 这种运作良好,但是,应用程序正在迅速许多用户增长,我想利用Active Directory中的优势群体。 我花了几天的研究和实验,但我没有找到任何解决方案。 许多人使用Windows身份验证,但它不太悦目,并且在这个阶段,很可能只是吓坏了最终用户的几个星期。 (应用程序在13家不同的商店价差)我也看了这个文章 ......并试图在测试应用程序这一解决方案,但没有任何运气。 不断收到一个错误说“对象引用不设置到对象的实例”自定义ADRoleProvider。
var root = new DirectoryEntry(WebConfigurationManager.ConnectionStrings[ConnectionStringName].ConnectionString, ConnectionUsername, ConnectionPassword);
我只是想知道如果任何人的方式做正确这或以不同的方式来做到这一点知道。 任何的建议是有帮助的! 谢谢!