所以,我有一個自定義的身份驗證令牌,我用它來保護我的web.api項目。現在,這是一個持票人類型令牌,我將其與頭部一起傳遞,並且已經設法在我的WebAPI項目中無縫地使用它。授權令牌不在標頭
複雜的是,我無法將它用於我的MVC項目。 MVC上的[Authorize]
標記使用System.Web.Mvc
庫而不是System.Web.Http
。爲了檢查包含授權令牌的頭部發生了什麼,我使用了一個自定義的令牌屬性。
public override void OnAuthorization(AuthorizationContext context)
在我上面的功能,當我窺視到使用context.HttpContext.Request.Headers
的頭,我看到有沒有在頭授權令牌。這是荒謬的,因爲我使用角度注入器來添加Bearer
令牌,並且它非常存在於正在發送的客戶端請求中。
我沒有做什麼來接收這個令牌?
[更新]
所以有點調試後,我只注意到了授權屬性不附加到重定向URL的。我想這是因爲應用程序沒有爲這些調用工作的角度攔截器。任何想法如何追加授權記住令牌太多的所有請求?
爲什麼不能使用['AuthorizeAttribute'](http://msdn.microsoft.com/en-us/library/system.web.http.authorizeattribute(v = vs.118).aspx) 'System.Web.Http'? – DavidG 2014-10-27 16:12:39
該屬性只能應用於'ApiController'而不是'Controller'。它被自動拒絕。 – Shouvik 2014-10-27 16:29:55
'System.Web.Mvc.AuthorizeAttribute'和'System.Web.Http.AuthorizeAttribute'都存在。使用適當的一個。 – DavidG 2014-10-27 16:31:01