我的用户具有以下角色之一:
在我的控制器中我想说:
具有 RoleA 类型角色的所有人 可以访问此控制器中的所有方法
[AuthorizeRoleA]
public class HomeController : Controller
{
public ActionResult MethodOne()
{
return View();
}
public ActionResult MethodTwo()
{
return View();
}
//****** Make an exception ********
//So in this case, let RoleA here, but let RoleB too.
[AuthorizeRoleB]
public ActionResult MethodThree()
{
return View();
}
}
我有另一个控制器:
具有 RoleB 类型角色的所有人 可以访问此控制器中的所有方法
只是 RoleB !没有其他人。
[AuthorizeRoleB]
public class AnotherController : Controller
{
public ActionResult Index()
{
return View();
}
}
因此,当用于装饰控制器时,这应该与Authorize
属性类似,并且在同一个控制器内部使用AllowAnonymous
时,但我不知道如何实现这一点自定义属性(过滤器)的行为。
我的目标是创建自定义属性,我可以说:
在AuthorizeRoleA
中将包含n个角色
并且在AuthorizeRoleB
中将包含其他角色。
但AuthorizeRoleA
的优先级高于其他属性。
注意:也许这是重复的,但我没有找到与此问题类似的任何内容。