System.Web.Http.Authorize и System.Web.Mvc.Authorize
Какой авторизованный атрибут?
System.Web.Http.Authorize
System.Web.Mvc.Authorize
using System.Web.Mvc // or
using System.Web.Http
Типичный контроллер
[Authorize]
public class SomeController : Controller
У нас есть контроллеры, аннотированные с помощью [Authorize]
Я просто заметил, что из-за использования пространств имен аннотации технически относятся к различным классам атрибутов.
Проект содержит MVC-контроллеры и WEBAPI-контроллеры.
Какую пользу я должен использовать и почему?
Какие проблемы могут возникнуть, если я не исправлю это?
Ответы
Ответ 1
Вы должны использовать System.Web.Http.Authorize
для ApiController
(API веб-API) и System.Web.Mvc.Authorize
для Controller
(MVC-контроллер). Поскольку среда запускает фильтры как часть обработки конвейера, и контроллеры ожидают применения правильного фильтра, если вы не используете соответствующий фильтр, авторизация не будет работать.