首页 > Web开发 > 详细

asp.net core 3.1 ClaimsPrincipal User 灵活使用

时间:2020-07-20 09:11:40      阅读:211      评论:0      收藏:0      [点我收藏+]

asp.net core  3.1 登录用的 ClaimsPrincipal User ,一般只有在 controller里才可以使用;但是为了方便抽出公共方法,则需要在单独的类里使用到 User.这时候,就需要先获取到HttpContext才可以用User。代码如下:

AppHttpContext.Current.User

详细代码如下:

    /// <summary>
    /// 沐雪多商户版小程序商城系统
    /// </summary>
    public class ControllerCommFun
    {
        public ControllerCommFun()
        {

        }

        public TenantLoginResp CurrentUser
        {
            get
            {
                 
                TenantLoginResp currentUser = new TenantLoginResp();
                if (AppHttpContext.Current.User.Identity.IsAuthenticated)
                {
                    var claimIdentity = (ClaimsIdentity)AppHttpContext.Current.User.Identity;
                    string key = claimIdentity.FindFirst("tenant_tokenid").Value;
                    currentUser.id = LoginCredentials.TenantDecodeRedisKeyOfUserId(key);

                    currentUser.user_name = claimIdentity.FindFirst("tenant_user_name").Value;

                    currentUser.using_type = claimIdentity.FindFirst("tenant_using_type").Value;
                    currentUser.role_id = ConvertHelper.LongParse(claimIdentity.FindFirst("tenant_role_id").Value, 0);

                }
                return currentUser;
            }
        }

    }

 

asp.net core 3.1 ClaimsPrincipal User 灵活使用

原文:https://www.cnblogs.com/puzi0315/p/13341915.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!