实现对象级安全性

实现对象级安全性

是否可以通过自定义ActionFilterAttribute实现对象级安全性?

我从Branislav Abadjimarinov's answer读到Get permission from Authorize Attribute?,并开始考虑制作一个类似于AuthorizeAttribute的动作过滤器以实现对象级安全性。

假设我将其指定用途称为ObjectAuthorizeAttribute

[ObjectAuthorize]
public ActionResult Edit(int id)
{
    //...


OnActionExecuting中访问ID值的最简单方法是什么?

这样的东西已经可用了吗?

最佳答案

您可以扩展AuthorizeAttribute并通过AuthorizationContext访问诸如RouteData之类的东西。如果您要进行授权,我认为从AuthorizeAttribute而不是ActionFilterAttribute开始更有意义。

var id = filterContext.RouteData.Values["id"];

关于c# - 使用ASP.NET MVC中的属性实现对象级安全性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4774882/

10-10 23:51