2016-11-15 7 views
0

나는 집을 소유 한 사용자가 있으며 (여러 사용자가 집을 소유 할 수 있음), 집에는 여러 가구가있을 수 있습니다.직접 모델의 소유권

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에 속해 있기 때문에 나열되지 않습니다 사용 (집은 소유자). 가능한 가장 쉬운 방법을 수정하려면 어떻게해야합니까? 가장 좋은 방법은 사용자가 집을 통해 가구를 소유하고 있다고 정의하는 것입니다. 가구는 여러 명의 사용자가 집을 소유 할 수 있기 때문에 집에 속해야합니다.

답변

1

그래서 나는 이것을 "loopback-component-access-groups"라는 또 다른 모듈을 통해 얻었습니다.이 모듈을 통해 그룹을 정의 할 수 있습니다. 이 특별한 경우에 나는 하우스 모델을 사용자와 가구가 액세스 할 수있는 그룹으로 만들었습니다. 사용자는 다른 역할을 가질 수 있으므로 같은 역할을하는 그룹 (집)에있는 가구에 액세스 할 수있는 역할 ("구성원"역할)을 설정했습니다. 이 솔루션은 저에게 효과적이지만 가구와 관련이있는 경우 추가 객체가 해당 속성을 상속하는지 여부는 확실하지 않습니다.

+0

또한,이 모듈에 나는 사용자에 대한 "을 통해"관계를했습니다. 그래서 저는 사용자와 집 사이의 관계를 알려주는 "Team"이라는 또 다른 모델을 만들었습니다. 이는 역할이 정의 될 수 있도록 존재해야합니다 (팀 모델은 각 집에 대해 사용자가 갖는 역할을 포함합니다). – Undrium