2014-10-31 7 views
0

Я определил модель пользователя, которая наследуется от встроенной модели пользователя loopback, и я определил отношение hasMany к другой модели. Проблемы я столкнулся в том, что независимо от того, что я делаю, когда я пытаюсь получить доступ к соотношению с апи покоя я получаю несанкционированную ошибку, даже когда я определил следующий ACL для пользовательской модели: json { "accessType": "READ", "principalType": "ROLE", "principalId": "$everyone", "permission": "ALLOW" } Доступ к методам пользователя из REST API

Есть идеи?

Как я могу показать некоторые методы пользовательской модели, которые я хотел бы получить для пользователя? На другой модели (которая не наследуется от модели пользователя) я не сталкиваюсь с этой проблемой.

Благодаря

ответ

1

Отношение впрыскивает метод в объект и, таким образом, необходимо иметь доступ для выполнения этого метода. Когда вы предоставляете ему доступ к READ, он применяется только к свойствам этой модели, а не к методам, которым необходимы разрешения EXECUTE. Попробуйте это:

{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "ALLOW", 
    "property": "__get_relation" 
} 

Заменить в собственности парах на «отношения» с фактическим именем отношения и «получить» с реальным методом HTTP вы хотите этот ACL, чтобы дать доступ.

Вы также можете отлаживать списки управления доступом, начиная вам приложения, как это:

$ DEBUG=loopback:security:acl slc run 
+0

Да, я должен был использовать разрешение EXECUTE. –

Смежные вопросы