abp vnext 扩展 ICurrentUser,登录时增加Claim

  1. 在项目 XXX.Main.Domain中新建 MyUserClaimsPrincipalFactory
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(AbpUserClaimsPrincipalFactory))] // 替换旧的AbpUserClaimsPrincipalFactory
public class MyUserClaimsPrincipalFactory : AbpUserClaimsPrincipalFactory, IScopedDependency
{
    public MainUserClaimsPrincipalFactory(UserManager<IdentityUser> userManager, 
        RoleManager<IdentityRole> roleManager, IOptions<IdentityOptions> options) : 
        base(userManager, roleManager, options)
    {
    }

    public override async Task<ClaimsPrincipal> CreateAsync(IdentityUser user)
    {
        var principal = await base.CreateAsync(user);
        var identityPrincipal = principal.Identities.First();
        /// add custom claim
        /// identityPrincipal.AddClaim(new Claim(XXX, XXX));

        return principal;
    }
}
  1. 添加ApiResource
//一般在IdentityServerDataSeedContributor.cs中 添加
private async Task CreateApiResourcesAsync()
{
......
}
  1. 用的时候
currentUser.FindClaimValue<类型>(ClaimTypes)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • jHipster - 微服务搭建 CC_简书[//www.greatytc.com/u/be0d56c4...
    quanjj阅读 830评论 0 2
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,138评论 1 32
  • 一. Java基础部分.................................................
    wy_sure阅读 3,835评论 0 11
  • 前段时间好友失恋,给她打电话的时候抽噎着,一句话都说不出来,我从来没看见过她这样,她一直是一个坚强勇敢的女孩子,但...
    精神药阅读 323评论 0 0
  • 跨年的夜晚多少有些斑斓,带着些许喧嚣,各种跨年晚会、跨年演讲都在各大卫视轮番播出,着急的年轻人仍在着急,认真生活的...
    神秘哀牢阅读 161评论 0 0