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