デフォルトでSimpleMembershipProvider
は、新しいASP.NETMVC4アプリケーションを作成するときにが有効になっています。ただし、一部のホスティングプロバイダーは、より高いレベルのweb.configでこの設定をオーバーライドすることにより、これを無効にする場合があります。
SimpleMembershipに関する記事からの引用:
プロパティがExtendedMembershipProviderのインスタンスである必要があることを示すエラーが表示された場合は、ASP.NET Webページメンバーシップシステム(SimpleMembership)を使用するようにサイトが構成されていない可能性があります。これは、ホスティングプロバイダーのサーバーがローカルサーバーとは異なる構成になっている場合に発生することがあります。これを修正するには、サイトのWeb.configファイルに次の要素を追加します。
<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>
この設定はWebMatrix.WebData.PreApplicationStartCode
、サイトの実行時に自動的に実行されるメソッドによって使用され、この設定の値を使用して単純なメンバーシッププロバイダーを有効にします。
実際にSimpleMembershipProvider
明示的に構成することをお勧めします。
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<clear/>
<add name="SimpleMembershipProvider"
type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
<providers>
<clear/>
<add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
</providers>
</roleManager>
今、もう混乱の余地はありません。メンバーシッププロバイダーとロールプロバイダーの両方が明示的に構成されます。