我必须检查用户的所有角色。目前im im检查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中找到该特定用户的所有角色。注意:我是基于角色的身份验证的初学者。
如果您需要查找用户的所有角色,请使用以下内容:
Roles.GetRolesForUser()
它将为您提供其所有角色的字符串阵列。您可以为mtehod指定用户。
您可以在以下方法中使用它:
foreach(string role in Roles.GetRolesForUser())
{
// do treatment for this role of the user
}
有关此方法,请参见此处:http://msdn.microsoft.com/en-us/library/system.web.security.roles.getRolesforuser.aspx
在MX2解决方案中,您可以浏览定义的所有类型的角色,不仅此用户角色!
您可以在MSDN中找到角色方法:http://msdn.microsoft.com/en-us/library/system.web.security.roles_methods.aspx
尝试以下:
foreach (var item in Roles.GetAllRoles())
{
if(Context.User.IsInRole(item))
{
//code
}
else
{
//code
}
}