Python делает это довольно просто, вы можете просто создать метод декоратора, проверяющий аутентификацию, и добавить декоратор в любой метод, требующий аутентификации.
def admin(handler_method):
"""
This decorator requires admin, 403 if not.
"""
def auth_required(self, *args, **kwargs):
if users.is_current_user_admin():
handler_method(self, *args, **kwargs)
else:
self.error(403)
return auth_required
...
@admin
def crudmethod_update(self, *args, **kwargs):
...
Имейте в виду, это предполагает несколько вещей о том, как вы собираете пользовательские данные, и так далее, но принцип одинаков с любой настройкой. Идея, над которой вы, возможно, работаете, заключается в том, что вызовы ajax на сервере обрабатываются как-то по-разному, но, как и при любом другом методе отдыха, вы действительно получаете те же заголовки. Если вы можете проверить аутентификацию по стандартному html-запросу, вы можете буквально перехватить отправку формы с помощью ajax-запроса и получить тот же результат обратно. Возможно, вы захотите получить обратно JSON или меньший фрагмент HTML, и для этого вы можете либо:
Добавьте что-то, что вы можете проверить в запросе, чтобы узнать, что это запрос ajax, и настроить его соответствующим образом.
Реализация RPC-модели для обработки запросов Ajax , в частности.
Для фактической обработки аутентификации вы можете использовать библиотеку google.appengine.ext users users и использовать учетные записи Google auth, или вы можете написать свою собственную. Написание собственного , конечно, означает реализацию механизма сеанса (для сохранения состояния в течение сеанса пользователя) и сохранение паролей в хешированном и соленом состоянии для проверки.