基于用户角色的数据
问题描述:
我有一个包含价格数组的产品。我想根据用户组显示相应的价格。基于用户角色的数据
据我创建了一个被描述这些群体
- 联系
- UserPriceA
- UserPriceB
- UserPriceC
我想以某种方式获取当前用户角色的作用。
事情是这样的:
public decimal Price {
get
{
var price = Prices.First(p => p.PriceType.Name == Something.CurentUser.Role);
return price;
}
}
答
您可以编写基于每个角色的名称的条件语句。根据用户是否是该角色的成员,执行不同的LINQ语句。
if (User.IsInRole("Admin")) {
// ...
}
else if (User.IsInRole("UserPriceA")) {
// ...
}
else if (User.IsInRole("UserPriceB")) {
// ...
}
else if (User.IsInRole("UserPriceC")) {
// ...
}
答
你不能这样做完全是这样,因为用户可以拥有多个角色,但你可以做到这一点的手机上
Prices.Where(p=> Membership.GetRoles().Contains(p.PriceType.Name))打字不好玩......对不起,简洁