Asp.net-Mvc-4

使用 SimpleMembershipProvider 時找不到預設角色提供程序

  • July 31, 2013

我正在嘗試在 asp.net mvc4 上獲得授權,所以我嘗試使用 WebSecurity。

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

我已將其放入 Global.asax,這就是錯誤出現的地方,“找不到預設角色提供程序”。

在網際網路上,我讀到我必須將這行程式碼添加到我的 web.config<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">中。但是由於以前的錯誤,我已經添加了它。

我該如何解決這個問題?

編輯:

當我將其更改為它時,defaultProvider="SimpleRoleProvider"它會給我一個新的錯誤。它說

命名空間“WebMatrix”中不存在類型或命名空間名稱“Data”(您是否缺少程序集引用?)

defaultProvider我通過將其更改為來修復它SimpleRoleProvider。我通過添加 Webmatrix.data 作為參考來修復第二個錯誤,然後轉到其屬性並將本地副本設置為 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>

引用自:https://stackoverflow.com/questions/17980030