Skip to content

UserManager.GetRolesAsync fails to work for me #141

@skippyV

Description

@skippyV

Hello, not sure if I'm using the GetRolesAsync() incorrectly.
Code repo
Apologies for the formatting of this post. Can't seem to get it all in the code block.
`
bool CheckIfUserIsSuperAdmin(ApplicationUser user)
{
if (user is not null)
{
List rolesIDsList = user.Roles;

    foreach (var roleId in rolesIDsList)
    {
        Task<ApplicationRole?> roleTask = _RoleManager.FindByIdAsync(roleId);
        roleTask.Wait();
        if(roleTask.Result is not null)
        {
            ApplicationRole role = roleTask.Result;
            if (role.Name!.Equals(Constants.SUPERADMIN))
            {
                //return true; // this works - BUT commenting it out to allow code below to run.
                break;
            }
        }
    }
    
    // BELOW CODE DOES NOT WORK
    Task<IList<string>> rolesListResult = _UserManager.GetRolesAsync(user); // HANGS here
    rolesListResult.Wait();
    if (rolesListResult.Result is not null)
    {
        IList<string> roles = rolesListResult.Result;
        if(roles.Contains(Constants.SUPERADMIN))
        {
            return true;
        }
    }
}

return false;

}
`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions