asp.net core 3.1 ClaimsPrincipal User 靈活使用


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;
            }
        }

    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM