abp 自定义claim

复制代码
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Options;
using System;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Identity;
using Volo.Abp.Security.Claims;
using Volo.Abp.Uow;
using DependencyAttribute = Volo.Abp.DependencyInjection.DependencyAttribute;
 
namespace Hang.Blog.Web
{
    [Dependency(ReplaceServices = true)]
    [ExposeServices(typeof(AbpUserClaimsPrincipalFactory))]
    public class MyUserClaimsPrincipalFactory :
       AbpUserClaimsPrincipalFactory, ITransientDependency
    {
        private readonly IHttpContextAccessor _httpContext;
 
        public MyUserClaimsPrincipalFactory(
            UserManager<Volo.Abp.Identity.IdentityUser> userManager,
            RoleManager<Volo.Abp.Identity.IdentityRole> roleManager,
            IOptions<IdentityOptions> options,
            IHttpContextAccessor httpContext)
            : base(
                userManager,
                roleManager,
                options)
        {
            _httpContext = httpContext;
        }
 
        [UnitOfWork]
        public override async Task<ClaimsPrincipal> CreateAsync(Volo.Abp.Identity.IdentityUser user)
        {
            var principal = await base.CreateAsync(user);
 
             
            principal.Identities
                .First().AddClaim(new Claim("Test", "Test"));
              return principal;
        }
    }
}
复制代码
复制代码
 private async Task CreateApiResourcesAsync()
        {
            var commonApiUserClaims = new[]
            {
                "email",
                "email_verified",
                "name",
                "phone_number",
                "phone_number_verified",
                "role",
                "Test",
 
            };
 
            await CreateApiResourceAsync("Blog", commonApiUserClaims);
        }
复制代码

 

转 https://blog.csdn.net/hangyejiadao/article/details/113881113

posted @   dreamw  阅读(121)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示