gpt4 book ai didi

asp.net - 如何在 ASP.NET MVC 4/EF 应用程序中处理复杂的授权?

转载 作者:行者123 更新时间:2023-12-04 04:40:05 26 4
gpt4 key购买 nike

在我的应用程序中添加、更新和删除各种实体的能力通常取决于所涉及的各种用户之间定义的关系。下面是一个例子:

  • 基本用户或其主管可以创建与用户关联的任务,但只有他的主管可以锁定任务,这样基本用户将无法再添加/更新/删除它。在锁定之前,两个人都可以更新任务。

  • 实现这些处理用户关系和实体状态(新的、现有的)以及其他可能与实体相关联的用户定义状态的复杂和高级规则的最佳方法是什么?

    谢谢

    最佳答案

    What is the best approach to implement these kind of complex and advanced rules that deal with the relationship of users and the state of the entities (new, existing), as well as other things like maybe a user-defined status associated to the entity?



    您想要使用授权标准,即 XACML,即可扩展访问控制标记语言。 XACML 是:
  • OASIS开发的标准,就像SAML一样是
  • 一个专注于细粒度访问控制的标准:考虑用户信息、资源信息、状态和上下文信息的访问控制
  • 实现基于属性的访问控制(ABAC)模型的标准:用户信息、资源数据和状态都可以看作是属性
  • 使用策略和规则来构建属性并授予/拒绝访问权限的标准:XACML 是基于策略的
  • 可以跨多个层应用的标准,例如跨MVC应用程序的展示层、数据层、业务层
  • 可以应用于多种技术和语言的标准,例如C#(MVC4 及更多)、Java、Python...

  • 使用 XACML,您可以轻松实现关系,例如:当且仅当交易金额 < 员工批准限制且交易未锁定时,员工才能批准交易。

    从这里去哪里?
  • ABAC 上查看 NIST 的页面.
  • 查看 OASIS XACML 的 page和规范
  • 查看现有的实现(开源和供应商,例如我工作的那个,Axiomatics。)
  • 关于asp.net - 如何在 ASP.NET MVC 4/EF 应用程序中处理复杂的授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19013278/

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