我正在開發一個使用本地STS進行身份驗證的ASP.NET MVC 5網站。 我將AuthorizeAttribute子類化爲自定義認證/授權過程,並將MyAuthorizeAttribute添加到GlobalFilters。 當用戶未經身份驗證進入時,MyAuthorizeAttribute.OnAuthorize成功抓住它並創建一個SignInRequest以重定向到STS。這就是我想要的。 我觀察到,當用戶認證成功和STS重定向用戶回來時,用戶的瀏覽器將嵌入到請求正文中的SAML令牌POST到我的MVC Web應用程序,這是設計,我期望MyAuthenticateAttribute可以捕獲此請求,所以我可以提取令牌從請求體中檢查並驗證它,但是,這次MyAuthenticateAttribute.OnAuthorize()函數沒有被調用,它直接進入控制器。 那麼有什麼不對嗎?我應該在哪裏捕捉並處理從用戶發佈的令牌?謝謝。所有傳入的請求是否由ASP.NET MVC中的AuthorizeAttribute處理?
0
A
回答
1
您需要使用[Authorize]屬性修飾您的操作方法,或者如果您希望對控制器中的所有操作進行授權,請在控制器上設置該屬性。
此外看一看的[使用AllowAnonymous]使用在https://www.codeproject.com/Articles/1008731/Insight-of-ASP-NET-MVC-s-Authorize-Attribute
1
AuthorizeAttribute
既是Attribute
和IAuthorizationFilter
。 Attributes
實際上並不是做什麼什麼,MVC框架掃描這個屬性的添加位置並將其註冊爲動態過濾器。
然而,而非裝飾控制器或動作方法有了它,你可以把它作爲一個全球性的過濾器:
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new AuthorizationAttribute());
filters.Add(new HandleErrorAttribute());
}
}
同樣的道理,你可以創建自己的IAuthorizationFilter
或子類AuthorizeAttribute
做任何你想。如果全球註冊,它將始終運行所有操作,然後您可以使用它來全局執行請求的自定義授權。
+0
忘了提及我已將MyAuthorizeAttribute添加到GlobalFilters。 – codewarrior
相關問題
- 1. 處理ASP.NET中的傳入請求URL
- 2. ASP.NET MVC路由所有請求
- 3. 處理ASP.NET MVC中的異步請求
- 4. ASP.NET MVC 4攔截所有傳入的請求
- 5. asp.net mvc它處理所有請求? - iis 7集成模式
- 6. MVC 4路由,GET/POST請求處理
- 7. 處理Potentailly危險請求-MVC-ASP.NET
- 8. 如何處理ASP.net MVC請求?
- 9. ASP.NET MVC請求處理序列
- 10. ASP.NET MVC處理請求錯誤
- 11. IIS如何處理ASP.net MVC請求?
- 12. ASP.net請求處理
- 13. ASP.NET MVC 3 AuthorizeAttribute
- 14. 處理ASP.NET MVC中的路由錯誤
- 15. Volley庫是否按順序處理所有請求
- 16. 轉移sitemap.xml HTTP請求到ASP.NET MVC中的路由處理程序
- 17. 在ASP.NET MVC中處理畸形請求中的ELMAH錯誤
- 18. MvcMailer SendAsync是否阻止ASP.NET MVC請求?
- 19. ASP.NET MVC ActionFilter - 確定是否AJAX請求
- 20. asp.net mvc:這個請求是否被路由?
- 21. ASP.NET 4的WebForms路由 - 獲取物理頁處理請求
- 22. 使用ajax請求處理請求在ASP.Net MVC 2中的重定向
- 23. 所有傳入請求的提琴手?
- 24. Yii - 捕獲所有傳入的請求
- 25. 如何處理ASP.NET中的* .txt請求
- 26. 確定請求是ASP.NET MVC中的PartialView還是AJAX請求3
- 27. 如何知道請求是否是asp.net mvc中的ajax?
- 28. ASP.Net MVC安全AuthorizeAttribute
- 29. ASP.NET MVC JsonResult和AuthorizeAttribute
- 30. 在MVC路由中捕獲傳入的webforms請求
忘了提及我已將MyAuthorizeAttribute添加到GlobalFilters。 – codewarrior