UseAuthentication和UseAuthorization


UseAuthentication 就是鑒權 找出解析請求攜帶的信息

UseAuthorization 授權 權限檢查,看看有沒有權限

 我們先來同步幾個知識。

policy 是策略 滿足什么條件 不可以疊加 

roles 是角色 特殊的policy  也是規則只是微軟封裝好了的特殊策略。 roles 可以多個疊加(roles=(user,admin))

authenticationSchemes 用戶信息來源,比如他是基於cookies 還是jwt 的 .可以多schemes

1多個Scheme是可以共存的

2不標記或者標記默認Scheme走的都是默認鑒權

3也可以通過標記指定Scheme去鑒權

4聲明多個Scheme信息都保存Context.User

 

 

1多個Authorize聲明,是需要疊加滿足,才能訪問
2單個的Authorize聲明,Policy和Role需要同時滿足,才能訪問
3 單個的Authorize聲明,用戶信息來源以AuthenticationSchemes聲明為准(沒有則用默認,有多個則可以共享用戶信息)
4多個Role可以寫在一起,滿足一個就行
5多個Policy,如果要同時滿足,就分成多個Authorize聲明,如果滿足一個就行,則寫成一個DRequiredment

AddUseAuthorization()默認就有了  是在addControllers() 里面的包含的。

通過源碼我們不難看到 UseAuthentication   就是在往context.user 里面裝賦值。  在UseAuthorization   授權的時候 看看這個里面又沒有這個值 並且有么有權限

 

 

授權源碼

 

 

 


免責聲明!

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



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