簡體   English   中英

ASP.NET Web API授權過濾器

[英]ASP.NET Web API Authorization Filter

我有一個全局授權過濾器,具有重寫的OnAuthorization方法。

在調試時,我看到首先實例化控制器類,然后調用OnAuthorization方法。

這是一個已知的行為,因為我在控制器構造函數中有一些代碼,如果未經授權則無需運行。

有什么方法可以解決這個問題嗎?

動作過濾器在應用它們的Action之前執行。 如果您有全局授權過濾器,這意味着它們是全局注冊的,您不必使用這些過濾器來裝飾每個操作,但這不會更改Action過濾器的行為,即在操作之前執行。

首先初始化控制器,然后調用相應的Actions,因此您的授權過濾器將在Controller的構造函數之后和操作之前執行。 這是Action過濾器的行為,因為它們是這樣設計的。

如果要在控制器構造之前執行授權,請嘗試通過繼承DelegatingHandler類來創建用於授權的消息處理程序而不是Action過濾器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM