我的应用程序代表用户在外部系统上自动执行一些操作。让我们将此应用程序的上下文称为 Inventory BC。
由于这是我的应用程序的主要特征之一,因此它被建模为域服务并通过反腐败层实现。到目前为止一切都很好。
此外,用户可能在我的应用程序将为他们处理的外部系统上拥有几个不同的帐户。所以我有一个单独的有界上下文,我将用户详细信息及其帐户 ID 保存在外部系统中。假设身份BC。
现在,Inventory BC 的反腐败层需要外部系统帐户 ID 和凭据。帐户 ID 是 Inventory BC 的一部分,用于分隔外部帐户和无法跨这些外部帐户进行的操作。但我不确定我应该在哪里存储凭据以及如何从 Inventory ACL 中检索它们。
我应该将凭据与他们的帐户 ID 一起保存在 Identity BC 中吗?然后我想我可以创建一个应用程序服务来返回给定帐户 ID 的凭据并从 Inventory ACL 调用它。
还是有更好的做法?
Edit1:另外,如果我要将所有上下文合二为一,什么是合适的?
Edit2:在我的外部系统域服务上,凭据应该是方法参数的一部分吗?还是我应该继续使用涉及 ACL 级别凭据的解决方案?