asp.net core 2.0中如何自定義 actionfilter


   
 
 
大概說下在asp.net core 中使用自定義ActionFilter的兩種方式,首先假如我需要自定義一個ActionFilter,名字叫做"AdministratorsOperationAttribute",該Filter的作用就是用戶訪問我的API時,驗證該用戶所屬的角色是否具有訪問某個接口的權限。具體的創建過程就省略了,下面說下注入方式:
  


方法1. 在Startup的 ConfigureServices中注入DependencyFilterProvider
 services.TryAddTransient<IFilterProvider,DependencyFilterProvider>();
 
  然后注入自己定義的filter
  
services.AddScoped<IFilterMetadata, AdministratorsOperationAttribute>();
  
這里的DependencyFilterProvider的作用應該就是自動去尋找自定義的filter並幫你注入到系統中。
 
  
方法2. 通過AddMvc中的options 方式注入:
services.AddMvc(options => { options.Filters.Add(typeof(AdministratorsOperationAttribute)); }
這種方式有一個缺點就是如果自定義的filter比較多的話 寫起來比較麻煩,這種情況還是推薦使用方法方法1來注入自己的filter。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM