Исключения авторизации - PullRequest
1 голос
/ 21 июня 2011

Я пометил свой контроллер аннотацией авторизации, но хотел бы освободить один из методов ... это можно сделать?как?

[Authorize(Roles="Admin")]
public class ProductController : Controller
{
    [DEAUTHORIZE]
    public ActionResult Start(int it)
    { ... }

Ответы [ 2 ]

4 голосов
/ 27 апреля 2013

В MVC 4 был введен AllowAnonymousAttribute, который сообщает вызывающему действие пропустить AuthorizeAttribute.

[AllowAnonymous]
2 голосов
/ 21 июня 2011

Нет, этого нельзя сделать.Стандартный способ достижения этого - просто переместить действие Start в отдельный контроллер.Другая возможность заключается в создании пользовательского IFilterProvider , который будет применять атрибут авторизации условно, а не запекать его вручную ProductController.Например, NInject использует это и предоставляет довольно беглый синтаксис в настройке фильтров действий.Вы можете условно применить их в зависимости от текущего контекста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...