/// <summary>
        /// 获取当前 授权用户信息
        /// </summary>
        /// <typeparam name="TKey"></typeparam>
        /// <typeparam name="TUser"></typeparam>
        /// <param name="httpContextAccessor"></param>
        /// <param name="setup"></param>
        /// <returns></returns>
        public static IIdentityUser <TKey, TUser> GetIdentityUser <TKey, TUser>(this IHttpContextAccessor httpContextAccessor, Action <IIdentityUser <TKey, TUser>, ClaimsPrincipal> setup)
            where TKey : struct
            where TUser : class, new()
        {
            DefaultIdentityUser <TKey, TUser> user = new DefaultIdentityUser <TKey, TUser>()
            {
                UserInfo = new TUser()
            };

            setup(user, httpContextAccessor.HttpContext.User);

            return(user);
        }
Esempio n. 2
0
        /// <summary>
        /// 获取当前 授权用户信息
        /// </summary>
        /// <typeparam name="TKey"></typeparam>
        /// <typeparam name="TUser"></typeparam>
        /// <param name="httpContextAccessor"></param>
        /// <param name="setup"></param>
        /// <returns></returns>
        public static IIdentityUser <TKey, TUser> GetIdentityUser <TKey, TUser>(this IHttpContextAccessor httpContextAccessor, Action <IIdentityUser <TKey, TUser>, ClaimsPrincipal> setup)
            where TKey : struct
            where TUser : class, new()
        {
            if (!httpContextAccessor.HttpContext.User.Identity.IsAuthenticated)
            {
                throw new CodeException(DefaultCode.UnAuthorizeError, "授权认证未通过");
            }

            DefaultIdentityUser <TKey, TUser> user = new DefaultIdentityUser <TKey, TUser>();

            setup(user, httpContextAccessor.HttpContext.User);

            return(user);
        }