我正在尝试在我的 ASP.NET MVC 应用程序中实现自定义 RoleProvider。
我创建了一个自定义 MembershipProvider 并且它有效,因为我能够成功验证用户。下一步是实现 RoleProvider 以限制对某些控制器的访问仅限于管理员用户。
谁能提供我需要采取的步骤的简要概述?
我现在的重点是我的控制器带有 Authorize 过滤器,如下所示:
[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
}
谁能指出我正确的方向?