Я использую платформу Eve и пытаюсь использовать доступ к ресурсам, ограниченный пользователем, как описано в: http://python-eve.org/authentication.html#user-restricted-resource-access
Я делаю что-то вроде:
class CustomAuth(TokenAuth):
def check_auth(self, token, allowed_roles, resource, method):
# Get user as an instance of UserResource.
if user and hasattr(user, 'id'):
self.set_request_auth_value(user['id'])
request.authenticated_user = user
...
Итак, есть несколько вопросов с моей стороны:
- Достаточно ли этого для использования ограниченного пользователем доступа к ресурсам?
- Как это поле добавляет в созданные пользователем объекты?
- Это дополнительное поле называется
id
в моих объектах, созданных пользователем? Можно ли его переименовать? - Насколько я понимаю, он должен называться так же, как он называется в пользовательском ресурсе. Это правда?
- Применяется ли это поле (свойство) только для вновь созданных объектов? Можно ли таким образом получить ранее созданные объекты текущим пользователем?
Ну, я хочу знать ответы на свои вопросы + уточнить, как это можно использовать.
Это ожидаемый способ как-то извлечь его в мои крючки?
user_id = current_app.auth.get_request_auth_value()
current_app.data.driver.session.query(resource).find({'id': user_id})
Ожидается ли этот блок кода от хука? Как он ведет себя, если у моего запрошенного ресурса есть собственное поле id
?
P.S. Я читал сообщение: https://stackoverflow.com/a/35654252/7335432