ASP中的行级权限或facebook式隐私.asp.net MVC 3



我正在做一个需要自定义粒度安全/隐私设置的项目。基本上,我需要能够根据执行查询的用户来限制对数据的访问。很简单,对吧?这里有几个问题……

  1. 用户必须存储在用户表中。创建Windows用户帐户、SQL server用户或SQL server角色是不可接受的。
  2. 安全标准必须由任意数量的来源定义,即用户的位置,工资等级,专业等。

现在我们通过生成一个SQL "where"子句并在每个查询执行之前将其附加到查询的末尾来实现这一点。这限制了我们能够利用新的技术,如实体框架,也带来了它自己的其他限制和性能问题。

任何帮助或想法都将非常感激。如果需要进一步说明,请告诉我。

谢谢!杰森

你仍然可以使用实体框架。有几种方法可以使用EF:

  • 创建一个自定义包装提供程序,注入WHERE子句,像这样

  • 只显示包含Where() 'd前数据的IQueryable s(但要注意关系)

  • 抛出一个异常,如果当前用户没有访问它(可能不是一个好主意)

最新更新