0

我得到這個錯誤消息ASP.NET web.config中無法找到指定的成員資格提供

無法找到指定的成員資格提供

這裏是我的web.config設置:

<connectionStrings> 
<add name="MyConnectionString" connectionString="Data Source=MyHostName;Initial Catalog=MyDB;User ID=userid;Password=*****" providerName="System.Data.SqlClient" /> 
    <add name="ADConnectionString" connectionString="LDAP://demo.stl.local/DC=stl,DC=local"/> 
</connectionStrings> 
    <system.web> 

    <customErrors defaultRedirect="~/error.aspx"/> 

    <siteMap defaultProvider="default"> 
     <providers> 
      <clear/> 
      <add name="default" type="System.Web.XmlSiteMapProvider" siteMapFile="web.sitemap" securityTrimmingEnabled="true"/> 
     </providers> 
    </siteMap> 

    <roleManager enabled="true" defaultProvider="SqlRoleManager"> 
     <providers> 
      <add connectionStringName="MyConnectionString" applicationName="MyAppDemo" name="SqlRoleManager" type="System.Web.Security.SqlRoleProvider"/> 
         </providers> 

     <membership defaultProvider="MyADMembershipProvider"> 
      <providers> 
       <add name="MyADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName"/> 
      </providers> 
     </membership> 

我想使用ActiveDirectory身份驗證ASP.NET成員資格。與AD的身份驗證工作正常,直到我添加了另一個連接字符串和roleManager。那麼,這個設置有什麼問題?

謝謝。

回答

1

那麼,Membership節點處於與providers相同的水平,也許你應該在<membership>之前關閉</providers>

此外,membership應與roleManager分開。

<roleManager enabled="true" defaultProvider="SqlRoleManager"> 
    <providers> 
     <add connectionStringName="MyConnectionString" applicationName="MyAppDemo" name="SqlRoleManager" type="System.Web.Security.SqlRoleProvider"/> 
    </providers> 
</roleManager> 

<membership defaultProvider="MyADMembershipProvider"> 
    <providers> 
     <add name="MyADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName"/> 
    </providers> 
</membership> 
+0

對不起,這是我的錯字我剛剛加入到的問題。這是在這裏與web.config – 2010-02-22 05:04:20

+0

好吧,我驗證和成員不應該在角色管理器,它們都是單獨的節點。 – mbillard 2010-02-22 14:26:28

3

角色管理器沒有關閉

<roleManager enabled="true" defaultProvider="SqlRoleManager"> 
     <providers> 
      <add connectionStringName="MyConnectionString" applicationName="MyAppDemo" name="SqlRoleManager" type="System.Web.Security.SqlRoleProvider"/> 
         </providers> 

     <membership defaultProvider="MyADMembershipProvider"> 
//here 
</roleManager> 
相關問題