Web API按用户权限过滤数据

时间:2018-02-02 03:13:04

标签: c# entity-framework asp.net-web-api asp.net-identity

使用用户的权限从数据库过滤数据列表的最佳方法是什么?

例如: 我有一个控制器,它返回一个包含所有属性的汽车列表,但我不想告诉控制器我想要哪些汽车。控制器必须检查请求的用户可以看到哪些汽车,过滤数据列表并仅发送允许的汽车。所以用户A只看到汽车1,2,5,用户B汽车2,3,4,5,它就行了。一辆汽车不是特定于一个独特的用户,它可能有多个用户链接。

我正在使用asp.net身份和实体框架

- 编辑 -

我最近一直在寻找,也许声称可能是我的解决方案。但是我如何使用声明过滤数据并仅使用户有权限的项目?

请任何人帮忙

- 编辑2 -

我正在添加示例代码

public class CarModel
{
  public int Id { get; set; }
  public string Name { get; set; }
  public DateTime BuildDate { get; set; }
  // and others
}

控制器:

public class CarsController
{
  [Authorize]
  public List<CarModel> GetCars ()
  {
    // get current user permission and return only cars that current user can see
  }
}

0 个答案:

没有答案