2

使用 Asp.Net Identity 允许您向用户添加声明。System.Security.Claims.ClaimTypes允许您从各种 ClaimTypes中选择任何 ClaimType。

ClaimTypes是一个静态类,它定义了可以分配给主题的众所周知的声明类型的常量。

我想将所有这些声明存储在List<>中并将它们显示在ListBox中,以便具有Admin角色的用户可以在注册后将 ClaimType 分配给用户。

似乎我可以这样做,因为ClaimTypes是一个静态类,并且无法列出其中定义的那些常量。

4

1 回答 1

4

您可以通过反映类中的字段来列出声明类型:

var claimTypes = typeof(System.Security.Claims.ClaimTypes).GetFields().ToList();

对于claimType列表中的每个,您可以使用claimType.Name来获取常量名称和claimType.GetValue(null)获取常量值。

于 2018-09-24T18:15:14.850 回答