未經授權的請求我註冊了MessageHandler(與config.MessageHandlers.Add(新ValidationHandler())從DelegatingHandler繼承。它檢查每個請求的安全令牌並檢查它是否是有效的。允許特定actionmethods
我在我的控制器2個或3 actionmethods這應該是accessabel沒有任何授權
我的問題:。 MessageHandler的第一次調用,所以這應該是accessabel來自世界各地的actionmethod將作爲未經授權的請求來處理 我我不會改變MessageHandler的代碼。 我試過添加allowanonymous屬性,但我仍然收到未經授權的響應。我發現這個職位Redirecting unauthorized controller in ASP.NET MVC。所以我現在的想法是將HandleUnauthorizedRequest上的用戶轉發到適當的操作方法。但我認爲這不是最好的方法。
有沒有更好的方法呢?有沒有辦法告訴web.config actionmethod1和actionmethod2被允許作爲Unauthorizedded用戶被訪問?
[編輯] 使用AuthorizeAttribute創建一個UnAuthorizeAttribute,將用戶仍然轉到操作方法不起作用。消息處理程序「殺死」請求
statusCode = HttpStatusCode.Unauthorized;
return Task<HttpResponseMessage>.Factory.StartNew(() => new HttpResponseMessage(statusCode));
因此UnAuthorizeAttribute不會被調用。我正在使用asp.net mvc webapi
[AllowAnonymous]屬性不適合? – aleha 2014-09-12 21:03:20
AllowAnonymous將不起作用,因爲當Task .Factory.StartNew(()=> new HttpResponseMessage(HttpStatusCode.Unauthorized))時,不會調用具有AllowAnonymous屬性的actionmethod;設置爲 –
Briefkasten
2014-09-15 10:47:42