軟件應用程序的授權層可確保當前用戶能夠訪問指定資源、執(zhí)行給定操作或對指定資源執(zhí)行給定操作ASPCMS批量上傳內(nèi)容。在 ASP.NET Core 中,授權層的設置方式有兩種。可以使用角色,也可以使用策略。前一種方法(即基于角色的授權)一直在舊版 ASP.NET 平臺中沿用ASPCMS批量刪除關鍵詞,而基于策略的授權則是 ASP.NET Core 中新增的方法。
Authorize 屬性
從早期開始,ASP.NET 應用程序中使用的一直都是角色。從技術角度來講,角色是純字符串。不過,它的值被安全層視為元信息(檢查 IPrincipal 對象中是否有值),并供應用程序使用,用于將一組權限映射到經(jīng)過身份驗證的給定用戶。
在 ASP.NET 中,登錄用戶由 IPrincipal 對象進行標識。在 ASP.NET Core 中,實際類是 ClaimsPrincipal。此類可公開一系列標識ASPCMS批量更新文章 ,每個標識均由 IIdentity 對象(具體而言,就是 ClaimsIdentity 對象)進行表示。
也就是說,任何登錄用戶都會隨附一個聲明列表,這其實就是用戶的狀態(tài)聲明。用戶名和角色是 ASP.NET Core 應用程序用戶的兩個常見聲明。不過,角色是否顯示取決于后備標識存儲區(qū)。例如,如果使用社交身份驗證,永遠都不會看到角色。
授權比身份驗證更進一步。身份驗證就是發(fā)現(xiàn)用戶標識,而授權則是定義用戶調(diào)用應用程序終結點的要求。用戶角色通常存儲在數(shù)據(jù)庫中,并在用戶憑據(jù)經(jīng)過驗證后進行檢索。此時,角色信息以某種方式附加到用戶帳戶。
IIdentity 接口的特征之一是,必須實現(xiàn) IsInRole 方法。為此,ClaimsIdentity 類檢查身份驗證進程生成的一系列聲明中是否有角色聲明。總之,當用戶嘗試調(diào)用安全的控制器方法時,角色應可供檢查。如果不可以,用戶調(diào)用任何安全的方法時則會遭拒。
<文章地址:http://www.meyanliao.com/article/other/ASPNETCorezjycldsq.html