如何使用用户声明限制用户访问列表中的某些项?

Pro*_*ofK 5 c# asp.net authorization claims-based-identity asp.net-web-api

我有一个WPF客户端应用程序和一个ASP.NET WebApi 2.2服务器应用程序.后者还托管授权服务器,并在成功登录时向用户发出承载令牌.这也是用户的声明被添加到其Identity对象的位置,因此包含在通过响应头发出的承载令牌中.

如果我想限制用户选择使用的分支,我是否会为其允许的分支中包含或排除的每个分支添加一个声明,或者我是否创建了一个特殊声明类型,继承自IdentityUserClaim该应用程序的特定声明类型,并在一个索赔中封装了自己的分支列表?后者在我看来更好,并且更加坚持单一责任委托人.