gpt4 book ai didi

asp.net-mvc - 权限设计

转载 作者:行者123 更新时间:2023-12-04 12:01:41 24 4
gpt4 key购买 nike

我有一个应用程序,其中包含需要设置权限的内容(即成员/非成员)

我的角色/身份验证设置很好,这不是我的问题。我的问题基本上是询问存储每个对象权限的最佳方式。本质上,每个对象都有“访客”和“成员”角色,以及简单的“允许”“拒绝”权限。

有任何想法吗?该程序是使用 C#、LINQ 和 MS-SQL 2005 在 ASP.NET MVC 中编写的。

最佳答案

如果您想保护 Assets (文件、数据库行、域实体、文档等)而不是应用程序 功能 用户能力 ,基于角色的安全性不太适合。

更好的模型是使用 访问控制列表 (ACL) 就像您从 NTFS 中了解到的那样。您几乎是自己说的,因为您需要为每个用户或角色分配对每个对象的特定权限。这就是 ACL 的作用。

如果您需要保护最终是 SQL Server 中的行的对象,则需要为 ACL 定义自定义表,因为 SQL Server 不支持行级权限。

根据这些 ACL 中的数据,您必须在数据访问组件中实现必要的安全检查。

以下是相关 SO 答案的一些链接:

  • Access Control in ASP.NET MVC depending on input parameters / service layer?
  • What is the best mechanism to implement granular security (i.e. authorization) in an ASP.NET MVC application?
  • How to implement an invitation code to share resource with another user?
  • 关于asp.net-mvc - 权限设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2030177/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com