【问题标题】:ACL in ASP.NET MVCASP.NET MVC 中的 ACL
【发布时间】:2011-11-16 21:53:23
【问题描述】:

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

我们有一个现有的 ASP.NET MVC 应用程序,其结构如下(简化):

  • 数据
  • 存储库
  • 业务逻辑
  • 查看模型
  • 控制器
  • 观看次数

它目前使用角色提供者模型,但我们被要求提供行级权限和功能。根据我所做的阅读,这往往被称为 ACL - 访问控制列表,因为它远离角色提供者模型 - 用户可能对实体的每个实例具有不同的功能。

在我看来,要求有两个部分 - 用户根据授予的访问权限检索实体子集的能力,然后是他们能够对访问的实体执行的功能。

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

是否有现有的框架或产品可以帮助解决这个问题?我们正在研究 Azman 和 SQLAzman - 还有其他的 SQL Server / Entity Framework 堆栈吗?

【问题讨论】:

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

标签: sql-server asp.net-mvc acl


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 2011-08-19
    • 2014-08-22
    相关资源
    最近更新 更多