是应该在域或UI层中检查角色?

时间:2012-08-10 15:47:22

标签: security domain-driven-design

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

1 个答案:

答案 0 :(得分:2)

通常,在应用程序或UI级别处理身份验证和授权问题的原因有几个:

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

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