Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server ASP.NET MVC中的ACL_Sql Server_Asp.net Mvc_Acl - Fatal编程技术网

Sql server ASP.NET MVC中的ACL

Sql server ASP.NET MVC中的ACL,sql-server,asp.net-mvc,acl,Sql Server,Asp.net Mvc,Acl,我们应该将ACL放在应用程序中的什么位置 我们现有的ASP.NET MVC应用程序具有以下结构(简化): 资料 存储库 业务逻辑 视图模型 控制器 观点 它目前使用的是角色提供程序模型,但我们被要求提供行级权限和功能。从我所做的阅读来看,这通常被称为ACL-访问控制列表,因为它脱离了角色提供程序模型-对于实体的每个实例,用户可能具有不同的功能 在我看来,需求有两个部分——用户根据授予的访问检索实体子集的能力,以及他们能够对访问的实体执行的功能 数据访问可能需要尽可能靠近数据层,这样更安全,对

我们应该将ACL放在应用程序中的什么位置

我们现有的ASP.NET MVC应用程序具有以下结构(简化):

  • 资料
  • 存储库
  • 业务逻辑
  • 视图模型
  • 控制器
  • 观点
它目前使用的是角色提供程序模型,但我们被要求提供行级权限和功能。从我所做的阅读来看,这通常被称为ACL-访问控制列表,因为它脱离了角色提供程序模型-对于实体的每个实例,用户可能具有不同的功能

在我看来,需求有两个部分——用户根据授予的访问检索实体子集的能力,以及他们能够对访问的实体执行的功能

数据访问可能需要尽可能靠近数据层,这样更安全,对性能的影响更小。我想我们现在不想检查用户的功能级别。我们应该在BL层还是在控制器动作中这样做,类似于我们目前用角色装饰动作方法的方式


是否有一个现有的框架或产品可以帮助实现这一点?我们正在研究Azman和SQLAzman——对于SQL Server/实体框架堆栈,还有其他的吗?

您可能想研究Spring ACL。我没有使用过,但它似乎提供了您需要的详细程度


您使用的是什么数据库?它是否提供行级权限?