我正在考慮在我的 ASP.NET Core API 中從基于角色的授權切換到基于策略的授權。
我目前正在使用 JWT 來處理授權,當前用戶的角色作為ClaimTypes.Role. 我的猜測是默認[Authorize]屬性使用該ClaimsPrincipal.IsInRole()方法來授權請求??,這反過來又專門查看宣告型別等于的宣告ClaimTypes.Role。
現在,如果我切換到基于策略的授權,我需要用我的訪問令牌中的權限替換角色。問題是,我可以繼續將這些權限添加到我的令牌中ClaimTypes.Role,還是應該使用不同的ClaimTypes?
uj5u.com熱心網友回復:
無需修改 ClaimTypes.Role ,您可以繼續使用它。
根據這篇文章的描述,我建議你可以使用基于策略的授權也會檢查角色宣告。
builder.Services.AddAuthorization(options =>
{
options.AddPolicy("AtLeast21", policy =>
policy.RequireRole(""));
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/503937.html
下一篇:拋出例外:System.Data.dll中的“System.Data.SqlClient.SqlException”附加資訊:將資料型別varchar轉換為bigint時出錯。在C#中
