我有一個擁有房子的用戶(有幾個用戶可以擁有房子),房子可以有幾個傢俱。直接模型的所有權
CustomUser.json關係:
"houses": {
"type": "hasAndBelongsToMany",
"model": "House",
"foreignKey": "houseId"
}
House.json關係:
"furnitures": {
"type": "hasAndBelongsToMany",
"model": "Furniture",
"foreignKey": ""
},
"customUsers": {
"type": "hasAndBelongsToMany",
"model": "CustomUser",
"foreignKey": ""
}
我的ACL是簡單的,看起來像這樣兩個房子和傢俱:
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
},
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "admin",
"permission": "ALLOW"
},
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$owner",
"permission": "ALLOW"
}
]
現在,訪問用戶的房屋工作正常,但用戶不會因爲屬於他們而被列出傢俱使用(房子是業主)。我如何解決這個問題最簡單的方法?最好的辦法是以某種方式定義用戶擁有家中的傢俱?但傢俱必須屬於家庭(因爲多個用戶可以擁有一間房子)。
此外,該模塊我不得不做出針對用戶的「通過」關係。所以我創建了另一個名爲「團隊」的模型,它告訴用戶和房子之間的關係。這需要存在,因此可以定義角色(Team模型包含用戶對每個房屋的角色)。 – Undrium