尚未启用角色管理器功能,但在配置中启用了该功能

时间:2013-08-22 22:25:34

标签: asp.net-mvc-4 roles roleprovider

我在web项目中名为providers的文件夹中为自定义的roleProvider创建了以下类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Project.Providers
{
  public class MyCustomRoleProvider : System.Web.Security.SqlRoleProvider
  {
    public override string[] GetRolesForUser(string username)
    {
        string[] currentUserRoles = { "Admin", "User" };
        return currentUserRoles;
    }
  }
}

我在web.config中添加了以下部分:

<roleManager enabled="true" defaultProvider="DefaultRoleProvider">
    <providers>
      <add name="DefaultRoleProvider" type="Project.Provider.MyCustomRoleProvider, MetaLearning"/>
    </providers>
  </roleManager>

当我尝试在家用控制器上添加以下代码时:

Roles.AddUserToRole("username","role");

我收到错误尚未启用角色管理器功能。我做错了什么?

1 个答案:

答案 0 :(得分:-1)

有时在我们的项目中有两个web.config文件。喜欢MVC4互联网应用程序项目一个属于views文件夹这不是你的应用程序的配置文件。它包含使视图与ASP.NET一起使用所需的配置。 确保在正确的web.config文件中实现您的要求。