Использование eve для ограничения доступа пользователей

У меня есть два разных объекта в моем API, мы можем называть их пользователями как задачи. Я хочу настроить API таким образом, чтобы пользователи могли получать доступ только к связанным с ними задачам, а администратор — ко всем задачам. Как мне проверить, чтобы убедиться, что то, что они запрашивают, соответствует их имени пользователя? У меня вход в систему работает в соответствии с http://code.tutsplus.com/tutorials/building-rest-apis-using-eve--cms-22961, но я хотел бы создать более всеобъемлющий API.


person Rob    schedule 10.11.2015    source источник


Ответы (1)


Вы можете прибегнуть к ограниченному доступу пользователей к ресурсам

Когда эта функция включена, каждый сохраненный документ связывается с учетной записью, которая его создала. Это позволяет API прозрачно обслуживать только документы, созданные учетной записью, по всем видам запросов: чтение, редактирование, удаление и, конечно же, создание. Для корректной работы необходимо включить аутентификацию пользователя.

См. соответствующую документацию по ссылке выше.

person Nicola Iarocci    schedule 11.11.2015
comment
Как добиться того, чтобы администратор имел доступ ко всем задачам? У меня тоже есть подобное требование (я еще не обращался, но рассматриваю явную логику, написав свой собственный класс аутентификации, что-то вроде if resource == tasks and user.role == admin: return True else self.set_request_auth_value(user['id'] ) Это сработает? - person Mandar Vaze; 14.12.2015