域驱动设计 – 在域驱动设计中实现安全性的层?

在域驱动的设计架构中,在哪个层中

实施安全(访问控制)?

层内的结构如何?

它会在横切? 最佳答案 身份验证几乎总是在您的应用程序层中. DDD是关于您的业务专家谈论并且可能会发生变化的不变量建模.像身份验证这样的东西通常不是商业专家的雷达,而是作为给定的.此外,身份验证的逻辑不太可能发生变化.

授权有点棘手.有时您需要将其纳入您的域层,因为您的业务专家会谈到授权.例如“在经理和区域经理都签字之前不能发布订单”.对我来说,这是域逻辑,因为它是一个可以在未来改变的不变量和业务策略.

我说一个好的测试是,如果你想出一个程序员的东西,那么它就在应用层.如果您的业务专家谈到有关它的规则和政策,那么它就是域层.

点赞