ASP.NET web.config Не удалось найти указанного поставщика членства - PullRequest
0 голосов
/ 22 февраля 2010

Я получил это сообщение об ошибке

Не удалось найти указанного поставщика членства

Вот мой параметр 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>

Я пытаюсь использовать членство в ASP.NET с аутентификацией ActiveDirectory. Аутентификация с AD работала нормально, пока я не добавил еще одну строку подключения и roleManager. Итак, что не так с этим параметром?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 22 февраля 2010

Менеджер ролей не закрыт

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

        <membership defaultProvider="MyADMembershipProvider">
//here 
</roleManager>
1 голос
/ 22 февраля 2010

Ну, узел Membership находится на том же уровне, что и providers, возможно, вам следует просто закрыть с </providers> до <membership>.

Кроме того, 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>
...