<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Asp.NET Core 中的 認證授權 詳解和使用

          共 1251字,需瀏覽 3分鐘

           ·

          2024-04-10 20:59

          Asp.NET Core 中的 認證授權 詳解和使用 - 醉馬踏千秋 - 博客園 https://www.cnblogs.com/abc1069/p/16058146.html


          什么是 驗證 和 授權?

          身份驗證(authentication):是確定用戶身份的過程

          授權(authorization ):是確定用戶(已經(jīng)驗證成功的用戶)是否有權訪問資源的過程。

           

          身份驗證

          職責:

          • 對用戶進行身份驗證。

          • 在未經(jīng)身份驗證的用戶試圖訪問受限資源時作出響應。

          現(xiàn)在,我們對一個 action 方法上添加 authorize 特性,這表明我們對這個接口進行了授權: 

          [HttpGet]
          [Authorize]
          public IEnumerable Get(){
          return new string[] {"數(shù)據(jù)1", "數(shù)據(jù)2"};
          }

          如果我們直接訪問這個接口,會報如下錯誤:

          30fcea3dffb1090aa00f1cbe07cdbf8c.webp

          意思是:你定義了授權,但沒有指定任何(包括自定義和官方的) 身份驗證方案;

          授權Authorization 和 認證Authentication 是相輔相成的;兩者缺一不可。

           

          解決的方法,其實報錯信息已經(jīng)告訴你了;即:添加認證方案的支持,其實,認證方案有很多,但是現(xiàn)在主要推薦的還是 Jwt Bearer 身份驗證方案:

          1、Nuget 中安裝 Microsoft.AspNetCore.Authentication.JwtBearer 包;

          2、然后再 ConfigurationServices 中添加對 身份驗證的方案(包括使用什么方案,這個方案需要做什么樣子的配置) 做注入容器中處理:

          34893c22b3a16b91613ea1640a5244a6.webp

          提醒:根據(jù)報錯信息,他有兩種寫法,

          5e6f9bc590a2621ba7ed2cbb8beadbb4.webp

          下面是第二種:

          7feb7340a59c0dfc65d8403715065e09.webp

          401 Unauthorized:未經(jīng)授權,身份認證不通過,未認證,可能:無令牌,令牌無效、失效(因為你沒有使用有效的token,無法通過 身份認證 Authentication)

          403 Forbidden:被禁止,即:令牌通過,但是你無權限。


          授權

          上面例子中,我么用 authorize 這個特性作用于一個 action 方法上了,這就是授權,對這個action進行了權限限制;

          但是,這種簡單的授權,是只要有效的token(即:身份驗證通過),就能訪問這個接口,而沒有精細化處理(就好比:董事長有這權限、行政也有著權限、而員工沒有這權限);

          asp.net core 的授權分三種

          1、普通的授權(上面已經(jīng)講了)

          2、基于角色的授權

          3、基于策略的授權



          瀏覽 40
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91干视频在线观看 | 精品三级| 操美女嫩逼| 亚洲 欧美 国产 日韩 动漫第一页 | 蜜桃精品无码视频网站 |