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> 

ASP.NET 멤버쉽을 ActiveDirectory 인증과 함께 사용하려고합니다. 다른 connection-string 및 roleManager를 추가 할 때까지 AD 인증이 제대로 작동했습니다. 그럼,이 설정에있어 잘못된 점은 무엇입니까?

감사합니다.

답변

1

글쎄, Membership 노드는 과 같은 수준입니다. <membership> 전에 </providers>으로 닫아야합니다.

또한 membershiproleManager과 별개 여야합니다.

<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가 있습니다. –

+0

확인되었습니다. 멤버쉽이 roleManager 안에 있으면 안됩니다. 둘 다 별도의 노드입니다. – mbillard

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>