9

我正在尝试在 asp.net mvc4 上获得授权,所以我尝试使用 WebSecurity。

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

我已将其放入 Global.asax,这就是错误出现的地方,“找不到默认角色提供程序”。

在互联网上,我读到我必须将这行代码添加到我的 web.config<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">中。但是由于以前的错误,我已经添加了它。

我该如何解决这个问题?

编辑:

当我将其更改为它时,defaultProvider="SimpleRoleProvider"它会给我一个新的错误。它说

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

4

1 回答 1

19

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>
于 2013-07-31T20:26:16.713 回答