在 DDD(领域驱动设计)中实现安全性

问题描述 投票:0回答:1

目前我正在开发一个使用领域驱动设计方法的应用程序,我的一个用户模块负责用户管理。

当涉及到身份验证、授权时,我正在寻找实现安全性的最佳方法,应该在域中还是在另一层中实现?

如果您有任何 DDD 项目经验,请与我分享您的反馈。

我希望获得有关使用 DDD 作为方法的安全实施的反馈

c# .net authentication domain-driven-design
1个回答
0
投票

DDD 的目标是业务领域的表示。如果功能规范指示用户在执行某些操作之前必须经过身份验证,则必须在域中表示该操作。当然,这样的身份验证纯粹是技术实现,因为需要考虑输入数据(表示层)从数据源(持久层)加载用户数据,但在业务层(域)中,您可以有一个代表用户并指示他是否经过身份验证的实体。这个实体绝对不是表示层和持久层中都不使用的类。

课程结构:

表示层:

用户DTO

  • 用户名:字符串

领域层:

用户

  • 用户名:字符串
  • 已验证:布尔值
  • 其他一些业务数据...

持久层:

持久用户

  • 用户名:字符串
  • 密码(!?)
  • ...
© www.soinside.com 2019 - 2024. All rights reserved.