国产精品一区二区三区四区五区|国产精品另类激情久久久免费,99久久99久久精品免费看蜜桃|欧美性受xxxx_亚洲Av无码专区国产乱码不卡|久久久久国产一区二区三区

返回頂部
關(guān)閉軟件導(dǎo)航
位置:首頁 > 資訊 > 其他>ASP策略到底是什么

ASPCMS批量助手   在 ASP.NET Core 中同期,基于策略的授權(quán)框架旨在分離授權(quán)與應(yīng)用程序邏輯。簡(jiǎn)而言之使命責任,策略是以一系列要求的形式設(shè)計(jì)的實(shí)體科普活動,這些要求本身就是當(dāng)前用戶必須滿足的條件。

ASPCMS批量上傳內(nèi)容   最簡(jiǎn)單的策略是強化意識,對(duì)用戶進(jìn)行身份驗(yàn)證長期間,同時(shí)還須滿足用戶與給定角色相關(guān)聯(lián)這一常見要求。另一常見要求是ASPCMS批量添加產(chǎn)品 現場,用戶必須有特定聲明或包含某值的特定聲明高端化。

  從最一般的意義上來講,要求就是斷言了嘗試訪問正確方法的用戶標(biāo)識(shí)我有所應。策略對(duì)象是使用以下代碼進(jìn)行創(chuàng)建:

  varpolicy = newAuthorizationPolicyBuilder() .AddAuthenticationSchemes("Cookie, Bearer") .RequireAuthenticatedUser() .RequireRole("Admin") .RequireClaim("editor", "contents") .RequireClaim("level", "senior") .Build();

  生成器對(duì)象使用各種擴(kuò)展方法收集要求提單產,再生成策略實(shí)例≈陵P重要?梢钥吹桨l展空間,要求約束了身份驗(yàn)證狀態(tài)和方案、角色以及通過身份驗(yàn)證 Cookie 或持有者令牌讀取的任何聲明組合有所應。

ASPCMS批量助手   如果預(yù)定義的所有擴(kuò)展方法都不適用于定義要求足了準備,始終可以采取最后手段合作關系,即通過自己的斷言定義新要求。命令如下:

  varpolicy = newAuthorizationPolicyBuilder() .AddAuthenticationSchemes("Cookie, Bearer") .RequireAuthenticatedUser() .RequireRole("Admin") .RequireAssertion(ctx => { returnctx.User.HasClaim("editor", "contents") || ctx.User.HasClaim("level", "senior"); }) .Build();

  RequireAssertion 方法需要使用 lambda深刻內涵,以接收 HttpContext 對(duì)象傳遞,并返回布爾值。因此深入闡釋,斷言就是條件語句相關性。

  請(qǐng)注意,如果多次連接 RequireRole物聯與互聯,用戶必須履行所有角色穩定。若要改為表達(dá) OR 條件,可能需要將斷言用作最后手段供給。

  在此示例中效高化,策略實(shí)際上允許角色為內(nèi)容編輯者或高級(jí)用戶的用戶。

  注冊(cè)策略

  光定義策略還不夠投入力度,還必須向授權(quán)中間件注冊(cè)策略。為此尤為突出,請(qǐng)?jiān)?Startup 類的 ConfigureServices 方法中規定,將授權(quán)中間件添加為服務(wù),如下所示:

  services.AddAuthorization(options=>{ options.AddPolicy("ContentsEditor", policy => { policy.AddAuthenticationSchemes("Cookie, Bearer"); policy.RequireAuthenticatedUser(); policy.RequireRole("Admin"); policy.RequireClaim("editor", "contents"); });}

  添加到中間件的每個(gè)策略都有一個(gè)名稱空間載體,用于在 Controller 類的 Authorize 屬性中引用策略:

  [Authorize(Policy = "ContentsEditor")]publicIActionResult Save(Article article){ // ...}

  使用 Authorize 屬性ASPCMS批量添加欄目 高質量,可以聲明的方式設(shè)置策略,但也可以通過操作方法以編程方式調(diào)用策略重要組成部分,如圖 2所示流程。

  圖 2:以編程方式檢查策略

  publicclassAdminController : Controller{ privateIAuthorizationService _authorization; publicAdminController(IAuthorizationService authorizationService) { _authorization = authorizationService; } publicasyncTask { returnctx.User.HasClaim("editor", "contents") || ctx.User.HasClaim("level", "senior"); }) .Build();

  RequireAssertion 方法需要使用 lambda,以接收 HttpContext 對(duì)象勃勃生機,并返回布爾值助力各業。因此,斷言就是條件語句提供有力支撐。

  請(qǐng)注意應用,如果多次連接 RequireRole,用戶必須履行所有角色品率。若要改為表達(dá) OR 條件相貫通,可能需要將斷言用作最后手段。

如果您覺得 ASP策略到底是什么 這篇文章對(duì)您有用積極影響,請(qǐng)分享給您的好友自動化方案,謝謝
文章地址:http://www.61py.com/article/other/ASPclddssm.html
解放雙手無盡可能,有問題添加天線貓微信