比方说,您有一个租户,其中有很多用户,有很多帐户,有很多交易。
您要在树的下方添加TenantId属性吗?
您要在树的最下方添加UserId吗?
还是只需要有家长ID?
假设用户在未先访问其父级的情况下永远不会有意访问子级实体。 a,它会是这样的:
<?xml version = "1.0" encoding = "utf-8"?>
<root>
<document>
<field level = "system" name = "Document ID" value = "1"/>
<field level = "system" name = "Image count in document" value = "2"/>
<field level = "system" name = "Page count in document" value = "1"/>
<field level = "document" name = "barcode" value = "K0000001"/>
<field level = "system" name = "Document Filename" value = "K0000001.pdf"/>
<field level = "system" name = "Output date & time" value = "2018.11.22 08:00:15"/>
</document>
</root>
baseurl.com/accounts/{accountId/transactions/{transactionId}
我倾向于看到在属于租户的所有对象上使用TenantId的示例。我想这是出于安全性考虑,但是我的自然假设是UserId就足够了。例如,即使“交易”比“用户”低两个级别,我也不认为我应该允许知道“交易ID”的任何人在不拥有帐户的用户的情况下访问交易。
答案 0 :(得分:1)
我们添加所有TenantId所遵循的规范是所有主要实体。例如,用户和帐户应具有TenantId。由于交易是用户和帐户上的从属实体,因此由于无法不参考基础(帐户/用户)来获取交易,因此 无授权 以获得TenantId。
经验法则是对要由租户分组/分类的主要业务实体进行分类。 (用户,帐户等),以便在数据库中检索或更新数据时,在对映射表或子表执行任何操作之前进行适当的租户筛选。因此,根据域对象,请明智地添加TenantId列。