Итак, у меня есть специальный токен аутентификации, который я использую для защиты моего проекта web.api. Теперь это токен канала-носителя, который я передаю вместе с заголовком, и мне удалось беспрепятственно его использовать в моем проекте WebAPI.Значок авторизации отсутствует в заголовке
Сложность в том, что я не могу использовать ее с моим проектом MVC. Тег [Authorize]
на MVC использует библиотеку System.Web.Mvc
вместо System.Web.Http
. Чтобы проверить, что происходит с моим заголовком, который содержит токен авторизации, я использовал собственный атрибут Token.
public override void OnAuthorization(AuthorizationContext context)
В моей функции выше, когда я заглянуть в заголовок, используя context.HttpContext.Request.Headers
, я вижу, что нет авторизации маркера в заголовке. Это абсурдно, поскольку я использую угловые форсунки, чтобы добавить токен Bearer
, и он очень присутствует в отправленном запросе клиента.
Что я не делаю, чтобы получить этот токен?
[Update]
Так после немного отладки Я просто заметил, что атрибут авторизовать не добавляется к редирект URL. Я полагаю, это связано с тем, что приложение не имеет угловых перехватчиков, работающих для этих вызовов. Любая идея, как добавить токен авторизации новичка тоже все запросы?
Почему вы не можете использовать ['AuthorizeAttribute'] (http://msdn.microsoft.com/en-us/library/system.web.http.authorizeattribute (v = vs.118) .aspx) из 'System.Web.Http'? – DavidG
Атрибут может применяться только для 'ApiController', а не' Controller'. Он автоматически отклоняется. – Shouvik
'System.Web.Mvc.AuthorizeAttribute' и' System.Web.Http.AuthorizeAttribute' оба существуют. Используйте соответствующий. – DavidG