是否需要检查 IsSignedIn 和 IsInRole 作为登录检查

Is there a need to check IsSignedIn and IsInRole as a sign in check

很简单的问题,这就够了吗?或者是否有一个极端情况,用户最终可能会得到一些指向未登录但仍具有某种角色的信息。

@if (User.IsInRole(Roles.Administrator))

还是我必须这样做?

@if (SignInManager.IsSignedIn(User) && User.IsInRole(Roles.Administrator))

Roles 将在用户登录时由会员提供程序填充并持续到他们的会话过期,因此只要您没有匿名用户的管理员角色,第一次检查就会够了。