Переопределить контроллер Authorize атрибут для viewresult - PullRequest
1 голос
/ 27 декабря 2011

Если атрибут контроллера был применен к контроллеру, возможно ли разрешить неавторизованный доступ к действию / представлению результата внутри этого контроллера? Скажем, к примеру, я не хотел, чтобы авторизация происходила на Test2 в следующем:

[Authorize]
public class TestController : Controller
{

    public ViewResult Test()
    {
        return View();
    }

    public ViewResult Test2()
    {
        return View();
    }
}

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

Нет, это невозможно. Вам нужно будет применить атрибут Authorize к действию Test, а не к контроллеру. Другая возможность - применить действие Test2 к другому контроллеру, который не имеет этого атрибута.

0 голосов
/ 10 марта 2015

В MVC 3 кажется, что это действительно было невозможно (как упоминал Дарин Димитров), но если кто-нибудь, использующий MVC 4 (и выше), сталкивается с этим вопросом, он должен иметь возможность использовать фильтр AllowAnonymousдобиться результата.Таким образом, код станет:

[Authorize]
public class TestController : Controller
{

    public ViewResult Test()
    {
        return View();
    }

    [AllowAnonymous]
    public ViewResult Test2()
    {
        return View();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...