我在Blazor应用程序中使用Windows身份验证,由于某种原因,ControllerBase类随附的User对象为null,因此我对User.Identity.Name
的引用抛出了System.NullReferenceException
。
当前,我正在将IHttpContextAccessor
注入我的ApiController类中,该类继承了ControllerBase
以获取User
对象。但是我读到,关于线程化,这不是建议的方法。
有人可以告诉我我在这里想念什么吗?
以下是我如何引用User
的示例:
public async Task<ActionResult<List<UserSettingState>>> List()
{
var test = User.Identity.Name;
return await _context.UserSettingStates
.Where(x => x.UserName.Equals(_user.Identity.Name))
.ToListAsync();
}
我要说的是,该项目最初是未经身份验证的,但是我将launchSettings.json
设置为"windowsAuthentication": true
,并更新了App.razor
文件以具有级联身份验证。如果我错过了什么,那我就不知道了。