seawolf
seawolf

Reputation: 2195

MVC 5 Custom Membership Provider Configuration

I am trying to migrate an ASP.NET application to MVC 5. The final piece to migrate is the membership provider. I am unable to configure the application to access the existing membership provider.

I started by looking at the documentation at MSDN's Sample Membership Provider Implementation. This leads me to enter the following in my Web.config:

<membership defaultProvider="MyMembershipProvider">
  <providers>
    <clear />
    <add
      name="MyMembershipProvider"
      type="my.namespace.MyMembershipProvider, my.package.name"
      connectionStringName="MyServiceContext"
      enablePasswordRetrieval="false"
      enablePasswordReset="true"
      requiresQuestionAndAnswer="false"
      requiresUniqueEmail="false"
      writeExceptionsToEventLog="true"
      />
  </providers>
</membership>
<roleManager defaultProvider="MyRoleProvider">
  <providers>
    <clear />
    <add
      name="MyRoleProvider"
      type="my.namespace.MyRoleProvider, my.package.name"
      />
  </providers>
</roleManager>

When I try to run the application, I get the following error:

The configuration section 'membership' cannot be read because it is missing a section declaration

What might I be doing wrong?

Upvotes: 1

Views: 1063

Answers (1)

seawolf
seawolf

Reputation: 2195

D'oh!

Turns out I had put the <membership> tag inside the top-level <configuration> section, but it belongs inside <system.web>:

<configuration>
  ... stuff ...
  <system.web>
    <membership ...>
      ... stuff from question description ...
    </membership>
    <roleManager ...>
      ... stuff from question description ...
    </roleManager>
  </system.web>
</configuration>

Changing the location in the file fixed the error.

Upvotes: 5

Related Questions