И така, имам персонализиран токен за удостоверяване, който използвам, за да защитя проекта си web.api. Сега това е токен от тип носител, който предавам заедно със заглавката и успях безпроблемно да го използвам в моя проект WebAPI.
Сложността е, че не мога да го използвам с моя MVC проект. Тагът [Authorize]
на MVC използва библиотека System.Web.Mvc
вместо System.Web.Http
. За да проверя какво се случва с моя хедър, който съдържа маркера за оторизация, използвах персонализиран атрибут Token.
public override void OnAuthorization(AuthorizationContext context)
В горната ми функция, когато надникна в заглавката, използвайки context.HttpContext.Request.Headers
, виждам, че в заглавката няма маркер за оторизация. Това е абсурдно, тъй като използвам ъглови инжектори, за да добавя токена Bearer
и той присъства много в заявката на клиента, която се изпраща.
Какво не правя, за да получа този токен?
[Актуализация]
Така че след малко отстраняване на грешки току-що забелязах, че атрибутът Authorize не е добавен към URL адресите за пренасочване. Предполагам, че това е така, защото приложението няма ъглови прихващачи, работещи за тези повиквания. Някаква идея как да добавя токен на Authorize Bearer също към всички заявки?
AuthorizeAttribute
отSystem.Web.Http
? - person DavidG   schedule 27.10.2014ApiController
, но не и заController
. Автоматично се отхвърля. - person Shouvik   schedule 27.10.2014System.Web.Mvc.AuthorizeAttribute
иSystem.Web.Http.AuthorizeAttribute
обаче съществуват. Използвайте подходящия. - person DavidG   schedule 27.10.2014context.HttpContext.Request.Headers
вместо заглавките на отговора? Малко съм объркан относно вашето внедряване, особено когато споменавате пренасочване на URL адреси. - person Brett   schedule 27.10.2014Request
, не бях там. - person Shouvik   schedule 27.10.2014