ASP.NET MVC中的ACL

3
我们的应用程序中应该将ACL放在哪里?
我们有一个现有的ASP.NET MVC应用程序,其结构如下(简化):
- 数据 - 存储库 - 业务逻辑 - 视图模型 - 控制器 - 视图
目前它使用角色提供程序模型,但我们被要求提供行级权限和功能。根据我所了解的阅读,这往往被称为ACL - 访问控制列表,因为它远离了角色提供程序模型 - 用户可能对实体的每个实例具有不同的功能。
就我而言,需求分为两个部分 - 用户根据授予的访问权限检索实体子集的能力,以及他们能够在访问的实体上执行的功能。
数据访问可能需要尽可能接近数据层 - 这将更安全,并且对性能的影响较小。但是我猜想我们不想在此时检查用户拥有的功能级别。我们应该在BL层或控制器操作中执行此操作,类似于我们当前使用角色装饰操作方法一样。
是否有现有的框架或产品可以帮助实现这一点?我们正在查看Azman和SQLAzman - 是否还有其他产品,适用于SQL Server / Entity Framework堆栈?

你使用的是哪个数据库?它是否提供行级权限? - Oded
1个回答

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接