簡體   English   中英

使用Thinktecture.IdentityServer.v3時如何檢查資源服務器中的用戶角色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM