我一直在尝试在VS 2017中的ASP Core 2项目中获取当前登录的用户ID。我正在使用具有单个用户帐户的默认模板。我查看了很多资源,但仍然无法弄清楚为什么用户声明总是返回null。我只能从帐户和管理控制器访问用户信息,但不能从其他任何地方访问。
public async Task<int> GetMinerIDAsync()
{
var user = await _userManager.GetUserAsync(User);
var id = user.Id;
var query = from x in _context.Miners
where x.ApplicationUserID == id
select x.ID;
int a = query.First();
return a;
}
当我运行此代码时,User始终为null。
答案 0 :(得分:0)
这取决于身份验证模式设置为您的窗体或窗口 web.config中。 如果身份验证模式设置为form,则更改身份验证 模式到Windows喜欢并运行你的应用程序。
<authentication mode="Windows"/>