ASP Core 2控制器中的用户为空

时间:2018-03-27 01:41:23

标签: asp.net-mvc asp.net-identity

我一直在尝试在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。

1 个答案:

答案 0 :(得分:0)

这取决于身份验证模式设置为您的窗体或窗口    web.config中。    如果身份验证模式设置为form,则更改身份验证    模式到Windows喜欢并运行你的应用程序。

<authentication mode="Windows"/>