MVC 5自定义成员资格提供程序配置

时间:2015-02-04 18:33:58

标签: asp.net-mvc-5

我正在尝试将ASP.NET应用程序迁移到MVC 5.要迁移的最后一块是成员资格提供程序。我无法配置应用程序以访问现有的成员资格提供程序。

我首先查看了MSDN Sample Membership Provider Implementation上的文档。这导致我在我的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>

当我尝试运行该应用程序时,出现以下错误:

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

我可能做错了什么?

1 个答案:

答案 0 :(得分:3)

d&#39;!哦

原来我已将<membership>标记放在顶级<configuration>部分中,但它属于<system.web>内部:

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

更改文件中的位置修复了错误。