using System.Security.Claims;
using Dpz.Core.Public.ViewModel;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Options;
namespace Dpz.Core.Web.Jobs.Security;
public class VmUserInfoClaimsPrincipalFactory(
UserManager<VmUserInfo> userManager,
IOptions<IdentityOptions> optionsAccessor
) : UserClaimsPrincipalFactory<VmUserInfo>(userManager, optionsAccessor)
{
protected override async Task<ClaimsIdentity> GenerateClaimsAsync(VmUserInfo user)
{
var principal = await base.GenerateClaimsAsync(user);
if (user.Permissions != null)
{
principal.AddClaim(new Claim("Permission", user.Permissions.Value.ToString()));
}
principal.AddClaim(new Claim("displayName", user.Name));
return principal;
}
}
AI 正在分析代码…
评论加载中...