0

我在我的 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");

我收到一个错误,提示角色管理器功能尚未启用。我究竟做错了什么?

4

1 回答 1

-1

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

于 2014-07-04T10:57:47.533 回答