我一直在尝试在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;
}
运行此代码时,用户始终为空。
这取决于身份验证模式,将其设置为形成或窗口 web.config。 如果设置了身份验证模式,请更改身份验证 像Windows一样运行您的应用程序。
<authentication mode="Windows"/>