私は家を所有するユーザーがおり(ユーザーのうちのいくつかは自宅を所有できます)、家にはいくつかの家具があります。直接モデルの所有者
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"
}
]
、ユーザーのためのアクセスハウスはうまく動作しますが、ユーザーはhoに属しているので、リストされている家具を取得しません使用(家は所有者)。これを最も簡単な方法で解決するにはどうすればよいですか?ベストは何とかユーザーが家を所有している家具を定義することでしょうか?しかし家具は家に属していなければなりません(複数のユーザーが家を持つことができるので)。
また、このモジュールで、私は、ユーザーのために、「スルー」関係をしなければなりませんでした。そこで私は、ユーザーと家の関係を示す別のモデル「Team」を作成しました。これは、役割が定義できるように存在する必要があります(チームモデルには、各家の役割が含まれています)。 – Undrium