C# 在context.user中查找所有角色

C# 在context.user中查找所有角色,c#,asp.net,validation,authentication,security-roles,C#,Asp.net,Validation,Authentication,Security Roles,我必须检查一个用户的所有角色。目前我正在检查isinrole。 但我想找到所有角色。隐藏并显示一些数据 if (Context.User.IsInRole("Travel_Admin")) { visibleTables.Remove(item_level10); visibleTables.Add(item_level1);

我必须检查一个用户的所有角色。目前我正在检查isinrole。 但我想找到所有角色。隐藏并显示一些数据

 if (Context.User.IsInRole("Travel_Admin"))
                    {
                        visibleTables.Remove(item_level10);
                        visibleTables.Add(item_level1);
                        visibleTables.Add(item_level2);
                        visibleTables.Add(item_level3);
                        visibleTables.Add(item_level4);
                        visibleTables.Add(item_level5);
                    }
                    else
                    {
                        visibleTables.Remove(item_level1);
                        visibleTables.Remove(item_level2);
                        visibleTables.Remove(item_level3);
                        visibleTables.Remove(item_level4);
                        visibleTables.Remove(item_level5);
                        visibleTables.Remove(item_level12);
                        visibleTables.Remove(item_level10);
                    }
我需要找到该特定用户的context.user中的所有角色。 注意:我是基于角色身份验证的初学者。

尝试以下方法:

 foreach (var item in Roles.GetAllRoles())
 {
      if(Context.User.IsInRole(item))
      {
            //code
      }
      else
      {
            //code
      }
 }

如果需要查找用户的所有角色,请使用以下命令:

Roles.GetRolesForUser()
它将为您提供一个包含其所有角色的字符串数组。可以为mtehod指定用户

您可以在以下方法中使用它:

foreach(string role in Roles.GetRolesForUser())
{
   // do treatment for this role of the user
}
有关此方法,请参见此处的文档:

在MX2解决方案中,您可以浏览定义的所有类型的角色,而不仅仅是此用户角色

您可以在MSDN中找到角色和方法: