如何检查用户是否有任何角色?

How to check whether user has any role?

我目前遇到一个问题,我需要检查是否已将任何角色分配给用户。 UserManager.IsInRoleAsync() 需要一个参数来指定我要检查的角色名称。我有一种方法可以获取所有角色并使用 for 循环逐一检查,但这似乎并不理想。有什么理想的方法吗?

谢谢。

您可以获取分配给用户的所有角色,并检查是否有。不需要 for 循环,您只想知道它不为空。

var roles = await _userManager.GetRolesAsync(user);
var hasAnyRole = roles.Count > 0;