领域驱动设计和安全

时间:2011-03-30 18:39:42

标签: domain-driven-design

这与此question相关联,似乎已经问过一段时间了。在项目中实施安全性,遵循域驱动设计的基本原则。让我举个例子

银行系统:
使用案例:正在进行新的银行存款,并且首次存款需要获得批准

一个。如果存款金额<5000,店员可以自动授权 湾经理可以是两种类型 - 银行经理/客户经理。只有客户经理可以授权任何存款> 5000

的帐户

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

  1. 不知道我应该在哪里构建以下逻辑 - 负责检查登录用户是否有权进行某些事情来考虑他的头衔 - (这种情况是客户经理)。授权是一个用例,但安全层似乎对域对象有着深入的了解
  2. 一般授权(不认证)。我知道基于角色的身份验证会有所帮助,但问题是“在哪里” - 在哪个层和呼叫流程中。 UI层是应该调用某个安全层还是域层验证所有可能的组合?
  3. 请帮忙。它非常令人困惑。

    看看是否有专家通知

    干杯

1 个答案:

答案 0 :(得分:4)

安全性是一种跨领域的设计功能,可以影响所有类别,方法和属性。

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

这些规范的实施地点和方式取决于您的架构。您可以使用方面,可以使用内联呼叫,事件等。

以下是我将查看的有关安全性和角色的一些链接: