我正在尝试将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
我可能做错了什么?
答案 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>
更改文件中的位置修复了错误。