我有一个使用 Entity Framework、MembershipReboot和IdentityServer3的 C# .NET 项目设置。
我正在查看数据库,我看到了一个UserClaims
表。在此表中,我使用 MembershipRebootAddClaim
方法添加了一些声明。
来自UserClaims
以某种方式添加到ClaimsPrincipal
. 当我向我的Controller
. 在控制器ActionResult
方法中,我有以下几行代码:
var claimsPrincipal = User as ClaimsPrincipal;
if (claimsPrincipal != null)
{
var userClaims = claimsPrincipal.Claims;
在此示例userClaims
中,将包含 MembershipRebootsUserClaims
表中的声明。
以类似的方式,我想在ClaimsPrincipal
不使用 UserClaims 表的情况下添加一些额外的声明。这个想法是,如果用户是组的成员,那么他们将继承与该组关联的声明。我创建了一个单独的表,将这些组声明存储在其中 - 但实际上将这些声明添加到ClaimsPrincipal
.
我一直在看SamAuthenticationService
MembershipReboot 但我不确定我是否在正确的地方寻找。
更熟悉 MembershipReboot 和 IdentityServer 的人能否指出我正确的方向?