Реализация защиты на уровне объектов с атрибутами в ASP.NET MVC - PullRequest
3 голосов
/ 23 января 2011

Возможно ли реализовать защиту на уровне объекта с помощью пользовательского ActionFilterAttribute?

Я прочитал Ответ Бранислава Абаджимаринова на Получить разрешение от атрибута Authorize? и начал думать о создании AuthorizeAttribute -подобного фильтра действий для реализации безопасности на уровне объекта.

Предположим, я должен был назвать это ObjectAuthorizeAttribute с использованием по назначению:

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

Какой самый простой способ получить доступ к значению идентификатора в OnActionExecuting?

Что-то подобное уже доступно?

Ответы [ 2 ]

2 голосов
/ 23 января 2011

Вы можете расширить AuthorizeAttribute и иметь доступ к таким вещам, как RouteData, через AuthorizationContext .Если вы делаете авторизацию, я думаю, что имеет смысл начать с AuthorizeAttribute, а не с ActionFilterAttribute.

var id = filterContext.RouteData.Values["id"];
1 голос
/ 23 января 2011
var id = filterContext.HttpContext.Request["id"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...