2011-03-30 88 views
4

这是与这个question链接,这似乎已经问了一段时间。遵循域驱动设计基本原则的项目中的安全实施。让我举一个例子域名驱动的设计和安全

银行系统:
使用案例:一个新的银行存款正在做和需要审批,因为它是第一次存款

一个。 b。如果存款金额为 b。经理可以有两种类型 - 银行经理/客户经理。只有客户经理可以授权具有存款> 5000

我关注的是如下的任何帐户(请正确的,如果关注本身是正确的)

  1. 不知道我应该在哪里建立这个下面的逻辑 - 需要的护理检查登录用户是否有权进行某些事情来考虑他的头衔 - (本例为客户经理)。授权是一种用例,但安全层似乎对域对象有深入的了解
  2. 一般授权(不认证)。我知道基于角色的身份验证会有所帮助,但问题在于“哪里” - 在哪一层和通话流程中。 UI层应该调用某个安全层还是域层会验证所有可能的组合?

请帮忙。它非常混乱。

凹凸,看是否能得到专家注意到

干杯

回答

3

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

从DDD的角度来看,你会选择规格和角色。

这些规范在哪里以及如何实现取决于您的架构。你可以用方面去,你可以在网上呼吁,事件等去

这里有一些链接我想看看有关安全和角色:

+0

感谢您的快速回复。我正在看一看。 – VJVRR 2011-03-31 10:55:41

+0

感谢您的快速回复。 RBAC是一个有趣的链接,但我更关注一些示例/快速接口/类,它们会让我了解它的外观。这里的新手,有理可以得到它。实际上在学习阶段。 – VJVRR 2011-03-31 11:18:49

+0

我使用的是一个ISecurity.Authorize(string userID)类,它​​在做CRUD时由每个方法调用。授权检查用户是否已通过身份验证并拥有正在更新的对象或者是否为管理员。 – 2011-04-01 21:25:46