1. AuthorizeAttribute類:
AuthorizeAttribute類是ASP.NET Core MVC/Web API中一個(gè)重要的特性,是一種基于角色或用戶訪問(wèn)限制資源的機(jī)制??梢栽赪eb API控制器或MVC控制器的Action方法上應(yīng)用AuthorizeAttribute類,從而實(shí)現(xiàn)權(quán)限控制,只允許特定角色或用戶訪問(wèn)該Action方法。
【資料圖】
2. 作用:
AuthorizeAttribute類可以應(yīng)用于MVC控制器類或控制器方法上,根據(jù)Admini定義的角色或用戶組來(lái)進(jìn)行訪問(wèn)控制,只允許指定的角色或用戶訪問(wèn)控制器對(duì)應(yīng)的Action方法,對(duì)不允許訪問(wèn)的用戶則返回拒絕訪問(wèn)的信息。
3. 內(nèi)置屬性:
AuthorizeAttribute類的默認(rèn)屬性值為Roles,可以讓Admini利用Roles屬性指定可以訪問(wèn)指定控制器方法的角色或用戶組,不允許指定角色或用戶訪問(wèn)控制器方法,則可以使用AuthorizeAttribute.Users屬性指定可以訪問(wèn)指定控制器方法的用戶。
4. 配置:
AuthorizeAttribute按住可以通過(guò)使用各種身份驗(yàn)證及授權(quán)技術(shù)來(lái)配置,如Forms身份驗(yàn)證、Windows身份驗(yàn)證、基于Cookie的身份驗(yàn)證、令牌身份驗(yàn)證等,可以根據(jù)Admini的實(shí)際業(yè)務(wù)需求來(lái)進(jìn)行選擇。
5. 默認(rèn)行為:
當(dāng)某個(gè)控制器或控制器的某個(gè)Action被AuthorizeAttribute類限制訪問(wèn)后,如果用戶試圖訪問(wèn)該控制器方法,服務(wù)器將會(huì)返回HTTP狀態(tài)碼401,“未授權(quán)”,表明用戶沒(méi)有權(quán)限訪問(wèn)該Action方法。
6. 授權(quán)驗(yàn)證:
有時(shí)為了更精確地控制訪問(wèn),可用配置自定義的授權(quán)驗(yàn)證,并在AuhorizeAttribute類的實(shí)例的Authorization)方法里執(zhí)行,用于檢測(cè)用戶是否符合要求,如果符合要求,則返回true,反之則返回false,系統(tǒng)將攔截用戶的訪問(wèn)。
7. 用戶個(gè)性化:
當(dāng)某一用戶符合AuthorizeAttribute的指定角色訪問(wèn)要求后,有時(shí)可以根據(jù)用戶的具體信息,如用戶自定義的特權(quán),設(shè)定更精確的訪問(wèn)權(quán)限,從而做到用戶個(gè)性化訪問(wèn)規(guī)則,使訪問(wèn)得到更為嚴(yán)密的控制。
1. AuthorizeAttribute是一個(gè)授權(quán)特性,用于受限制的資源。它派生自ActionFilterAttribute,它是ASP.NET MVC框架中的一個(gè)重要特性,可以實(shí)現(xiàn)在應(yīng)用層面進(jìn)行授權(quán)。
2. AuthorizeAttribute提供了可以指定活動(dòng)/控制器/方法執(zhí)行之前,必須滿足的訪問(wèn)要求和條件,從而細(xì)粒度的控制用戶訪問(wèn)。
3. AuthorizeAttribute提供了一種聲明性的、可重用的方式,來(lái)實(shí)現(xiàn)控制訪問(wèn)權(quán)限和授權(quán)。它提供了一種通用的格式,來(lái)指定訪問(wèn)權(quán)限,可以在活動(dòng)/控制器/方法上快速設(shè)置權(quán)限。
4. AuthorizeAttribute允許限制特定的用戶或用戶組可以訪問(wèn)請(qǐng)求的資源。它可以根據(jù)用戶的角色也能進(jìn)行限制,比如Admin、User、Guest等角色,可以指定哪一類用戶可以訪問(wèn)請(qǐng)求的資源。
5. AuthorizeAttribute默認(rèn)情況下是不允許未登錄用戶訪問(wèn)資源,但是可以通過(guò)AllowAnonymous特性,來(lái)放開(kāi)訪問(wèn)限制,允許未登錄用戶訪問(wèn)資源。
6. AuthorizeAttribute還提供了多種認(rèn)證和授權(quán)方式,比如身份驗(yàn)證(Authentication),授權(quán)(Authorization),角色授權(quán)(Role-Based Authorization),String授權(quán)(String-Based Authorization)等方式。
7. AuthorizeAttribute的默認(rèn)使用方式是利用[Authorize]在Controller或Action上,指定驗(yàn)證和授權(quán)規(guī)則,從而對(duì)對(duì)應(yīng)的資源進(jìn)行授權(quán)。比如:[Authorize]、[Authorize(Roles=\"Admin\")]等使用方式。
8. AuthorizeAttribute使開(kāi)發(fā)者可以不依賴特定的平臺(tái)而實(shí)現(xiàn)控制訪問(wèn)權(quán)限,提供了可以統(tǒng)一實(shí)現(xiàn)授權(quán)的一種面向ASP.NET的模式。
本文authorizeattribute,authorizeattribute怎么樣)到此分享完畢,希望對(duì)大家有所幫助。