using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Learn.Archives.Core.Common { public static class LiveUserInfoExpand { /// /// 添加 当前作用域登录用户信息 /// /// public static void AddLiveUserInfoExpand(this IServiceCollection services) { services.AddScoped(); } } public class LiveUserInfo { private readonly IHttpContextAccessor _httpContextAccessor; public LiveUserInfo(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; } /// /// 管理员角色id /// public long? RoleId { get => long.Parse(_httpContextAccessor.HttpContext?.User.FindFirst(ClaimEnum.Role)?.Value ?? "0"); } /// /// 管理员id /// public long Id { get => long.Parse(_httpContextAccessor.HttpContext?.User.FindFirst(ClaimEnum.Id)?.Value ?? "0"); } /// /// 管理员id /// public string Name { get => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimEnum.Name)?.Value??string.Empty; } } }