2

在 DDD 的世界中,检查域中的用户角色是正确的,还是应该在 UI 中发生?我问的原因是因为看起来,如果安全和角色是业务需求的一部分,那么它们似乎应该存在于域中。然而,几乎所有角色检查的例子都表明它是在 UI 层完成的。是什么赋予了?

4

1 回答 1

2

一般来说,在应用程序或 UI 级别处理身份验证和授权问题有几个原因:

从建模的角度来看,这些问题通常不是系统功能所固有的。例如,用户故事可能会声明:“作为操作员,我可以打开机器…… ”。虽然确保只有操作员才能访问机器可能很重要,但机器本身并不关心谁可以打开它。

从实用的角度来看,这些类型的关注点通常与域分开,以避免将应用程序或域级服务注入实体的必要性。由于实体通常通过 ORM 框架进行序列化,因此将服务注入实体可能很麻烦(有关此主题的更多信息,请参见http://lostechies.com/jimmybogard/2010/04/14/injecting-services-into-entities/)。

于 2012-08-10T18:39:37.777 回答