[英]How to check user role in a resource server when using Thinktecture.IdentityServer.v3
我下載了[Thinktecture.IdentityServer.v3][1]
和相應的客戶端項目。 我想檢查SampleAspNetWebApi
項目中的用戶角色。 所以我如下更改采樣方法
[Authorize(Roles="Admin")]
public class IdentityController : ApiController
{
public dynamic Get()
{
var principal = User as ClaimsPrincipal;
return from c in principal.Identities.First().Claims
select new
{
c.Type,
c.Value
};
}
}
我使用WPF hybrid client
來調用服務,並使用具有Admin
角色的alice
用戶。 但是它返回未經授權的錯誤。 用戶已通過身份驗證,但未設置角色。
如何檢查SampleAspNetWebApi項目中的用戶角色?
Authorize屬性查找Microsoft / .NET特定角色聲明類型
http://schemas.microsoft.com/ws/2008/06/identity/claims/role
我們發出一個簡單的“角色”主張。
您可以將收到的聲明映射到ASP.NET期望的內容-但已關閉-嘗試從startup.cs刪除此行:
JwtSecurityTokenHandler.InboundClaimTypeMap = ClaimMappings.None;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.