UserManager.GetUserAsync(User)可以在具有Authorize属性的类中返回null吗?

时间:2018-02-15 19:40:07

标签: c# asp.net-core

我正在使用启用了个人用户帐户的Asp.net核心2.0 MVC。自动生成的ManageController类归[Authorize]所有。

我发现有一些操作方法包含以下代码片段。

var user = await _userManager.GetUserAsync(User);
if (user == null)
{
 throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
}

问题

在我的心理模型中,被授权保证是注册用户。因此,授权类中的这种空检查似乎是不必要的。我想知道UserManager.GetUserAsync(User)是否可以在null属性的类中返回Authorize

1 个答案:

答案 0 :(得分:2)

  

我想知道UserManager.GetUserAsync(User)是否可以在具有Authorize属性的类中返回null?

如果用户登录后用户条目已从数据库中删除(默认情况下,Cookie会在30 minutes之后验证,因此即使相应的用户已从相应用户中删除,它们仍然可以“有效”数据库)。