从数据库中添加自定义索赔值



我需要添加一个从数据库检索的自定义Clamis值(即UserID(。

这是一个blazor托管的应用程序,并且Azure AD的身份验证已经实现

索赔的价值必须从数据库中检索,因此只能读取一次。

提前谢谢。

如果需要添加自定义声明:

IdentityUser user = await UserManager.FindByIdAsync(Id);
var claim = new Claim(type, value);
var result = await UserManager.AddClaimAsync(user, claim);

要检索索赔,您应该使用以下内容:

IdentityUser user = await UserManager.FindByIdAsync(Id);
Claims = await UserManager.GetClaimsAsync(user);

记住,当你通过Identity登录时,AspNetUserClaims的声明就在cookie上,所以你可以在任何页面上看到它:

@if (User.Identity.IsAuthenticated)
{
<p>User: @User.Identity.Name;</p>
<table class="table table-sm">
@foreach (var claim in User.Claims)
{
<tr>
<td>@claim.Type</td>
<td>@claim.Value</td>
</tr>
}
</table>
}

相关内容

  • 没有找到相关文章

最新更新