Asp.net mvc 如何实现自定义角色Provider?

Asp.net mvc 如何实现自定义角色Provider?,asp.net-mvc,security,roles,Asp.net Mvc,Security,Roles,我正在尝试在ASP.NET MVC应用程序中实现自定义角色提供程序 我已经创建了一个自定义成员资格提供者,它可以工作,因为我能够成功地验证用户。下一步是实现RoleProvider,将certian控制器的访问权限限制为仅管理员用户 有人能给我一个我需要采取的步骤的简要概述吗 我现在的重点是我的控制器带有授权过滤器,如下所示: [Authorize(Roles="Admin")] public class AdminOnlyController : Controller { // st

我正在尝试在ASP.NET MVC应用程序中实现自定义角色提供程序

我已经创建了一个自定义成员资格提供者,它可以工作,因为我能够成功地验证用户。下一步是实现RoleProvider,将certian控制器的访问权限限制为仅管理员用户

有人能给我一个我需要采取的步骤的简要概述吗

我现在的重点是我的控制器带有授权过滤器,如下所示:

[Authorize(Roles="Admin")]
public class AdminOnlyController : Controller
{ 
    // stuff 
}
我有我的CustomRoleProvider类,带有以下方法以及大量未实现的方法:

public override string[] GetRolesForUser(string username)
{
    if (username == "dave")
    {
        return new string[] { "Admin" };
    }
}
我想我需要以某种方式将用户添加到角色中,但我不知道如何做到这一点。理想情况下,最终结果将是未经授权的用户无法访问某些控制器,在我看来,我可以决定是否显示与以下内容的链接:

if (User.IsInRole("Admin"))
{
    // show links to Admin Controllers
}

有人能给我指出正确的方向吗?

对于未实现的方法,请务必抛出一个NotImplementedException。这将帮助您确定自定义提供程序中需要哪些方法来完成工作


我怀疑您必须实现IsUserInRole

我将此用作自定义角色管理器的基线:

应在MVC或Web表单中工作

更新:由于该网页已不存在,您可以改为尝试。基本要求是您需要实现RoleProvider接口,即:

void AddUsersToRoles(string[] usernames, string[] roleNames)
string[] GetRolesForUser(string id)
bool RoleExists(string roleName)

此链接不再有效。如果可以更新,那就太好了。