【发布时间】:2020-11-16 22:20:49
【问题描述】:
我正在构建 .Net-Core MVC 项目。该应用程序提供了一个名为CurrentUserService(经典)的服务。
例如,当我在实体上记录和 CRUD 操作时,我会访问此服务。
当我尝试通过IHttpContextAccessor 访问用户时,即使他是,他也没有通过身份验证。是的,我确实将services.AddHttpContextAccessor(); 添加到我的服务集合中。
我创建了一个控制器,访问了User 属性并且用户通过了身份验证。下图显示:
不知道该怎么做,求助。
当前用户服务
public class CurrentUserService : ICurrentUserService
{
public CurrentUserService(IHttpContextAccessor httpContextAccessor)
{
var user = httpContextAccessor.HttpContext?.User;
if (user != null && user.Identity.IsAuthenticated)
{
UserId = int.Parse(user.FindFirstValue(ClaimTypes.PrimarySid));
IsAuthenticated = user.Identity.IsAuthenticated;
}
}
public int UserId { get; }
public bool IsAuthenticated { get; }
}
【问题讨论】:
标签: asp.net-core authentication asp.net-core-mvc