繁体   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