Domain driven design 领域驱动设计与安全

Domain driven design 领域驱动设计与安全,domain-driven-design,Domain Driven Design,这与这个问题有关,这个问题似乎早就被问到了。遵循领域驱动设计基本原则的项目中的安全实施。让我举个例子 银行系统: 用例:正在进行新的银行存款,需要批准,因为这是第一次存款 a。如果存款金额为5000,职员可以自动授权 我的担忧如下(如果担忧本身是正确的,请更正) 不确定我应该在何处构建以下逻辑-注意检查登录用户是否有权在考虑其标题的情况下执行某些操作-(本例为帐户管理员)。授权是一个用例,但安全层似乎对域对象非常熟悉 一般来说,是授权(而不是身份验证)。我知道基于角色的身份验证会有所帮助,但问题

这与这个问题有关,这个问题似乎早就被问到了。遵循领域驱动设计基本原则的项目中的安全实施。让我举个例子

银行系统:
用例:正在进行新的银行存款,需要批准,因为这是第一次存款

a。如果存款金额为5000,职员可以自动授权

我的担忧如下(如果担忧本身是正确的,请更正)

  • 不确定我应该在何处构建以下逻辑-注意检查登录用户是否有权在考虑其标题的情况下执行某些操作-(本例为帐户管理员)。授权是一个用例,但安全层似乎对域对象非常熟悉
  • 一般来说,是授权(而不是身份验证)。我知道基于角色的身份验证会有所帮助,但问题是“在哪里”-在哪一层和调用流中。UI层是否应该调用某个安全层,或者域层是否应该对所有可能的组合进行自我验证 请帮忙。这很令人困惑

    看看这是否引起专家的注意


    Cheers

    安全性是一个跨领域的设计特性,它可以影响所有类、方法和属性

    从DDD的角度来看,您将使用规范和角色

    在何处以及如何实现这些规范取决于您的体系结构。您可以使用Aspect,也可以使用在线电话、事件等

    以下是一些关于安全性和角色的链接:


    感谢您的快速回复。我正在看。谢谢你的快速回复。RBAC是一个有趣的链接,但我更多地关注一些示例/快速接口/类,这些示例/接口/类会让我了解它的外观。这里的新手,理论上可以得到它。实际上是在学习阶梯上。坚持已经太晚了。您应该在执行域逻辑之前进行授权。在执行逻辑并尝试persist@tuespetre他指的是持久性/基础设施层(意思是在创建域对象之后)。我认为授权这个词太模糊/笼统。实际上,问题中的例子是领域逻辑。应该在domain@Tudor又过了一年又几个月,我不得不说,我同意你们两个。问题描述了应该在域中建模的规则,但应用程序/服务层负责协调域对象之间的交互,从而确保实际调用授权逻辑。