9

私はasp.net mvc4で認証を取得しようとしているので、WebSecurityを使用しようとしています。

WebSecurity.InitializeDatabaseConnection("tradefairindia", "Users", "Id", "Username", false);

これを Global.asax に入れましたが、ここで「既定のロール プロバイダーが見つかりませんでした」というエラーが発生します。

インターネットで、このコード行を web.config に追加する必要があることを読みました<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">。しかし、以前のエラーのため、すでに追加していました。

どうすればこの問題を解決できますか??

編集:

に変更するとdefaultProvider="SimpleRoleProvider"、新しいエラーが発生します。それは言う

型または名前空間名 'Data' が名前空間 'WebMatrix' に存在しません (アセンブリ参照がありませんか?)

4

1 に答える 1

19

を に変更して修正しましdefaultProviderSimpleRoleProvider。2 番目のエラーは、参照として Webmatrix.data を追加し、そのプロパティに移動して copy local を true に設定することで修正しました。誰かがそれを詳しく説明できれば、これがどのように修正されるかわかりません。

これは、同じ問題に遭遇した人のための私の web.config です。

<system.web>
    //...
    <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>
    //...
</system.web>
于 2013-07-31T20:26:16.713 に答える