Я пометил свой контроллер аннотацией авторизации, но хотел бы освободить один из методов ... это можно сделать?как?
[Authorize(Roles="Admin")] public class ProductController : Controller { [DEAUTHORIZE] public ActionResult Start(int it) { ... }
В MVC 4 был введен AllowAnonymousAttribute, который сообщает вызывающему действие пропустить AuthorizeAttribute.
[AllowAnonymous]
Нет, этого нельзя сделать.Стандартный способ достижения этого - просто переместить действие Start в отдельный контроллер.Другая возможность заключается в создании пользовательского IFilterProvider , который будет применять атрибут авторизации условно, а не запекать его вручную ProductController.Например, NInject использует это и предоставляет довольно беглый синтаксис в настройке фильтров действий.Вы можете условно применить их в зависимости от текущего контекста.
Start
ProductController