django user auth + gwt - PullRequest
       9

django user auth + gwt

2 голосов
/ 15 декабря 2009

У меня есть серверное приложение django, которое взаимодействует с интерфейсом gwt с помощью JSON. Я хочу ввести аутентификацию пользователей в приложение и начал включать фреймворк, предоставленный django . На данный момент я настроил сервер так, чтобы при необходимости он отвечал на форму аутентификации пользователя (используя схему декоратора @login_required, описанную в приведенной выше ссылке), но я не уверен, что делать с этим в GWT.

Если вы используете GWT с django и внедрили аутентификацию пользователя, было бы здорово услышать, как вы это настраиваете.

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 декабря 2009

В проекте автотеста использовалась комбинация gwt и django. Взгляните на http://autotest.kernel.org/browser/trunk/frontend исходный код. Чтобы быть конкретным, я бы изменил http://autotest.kernel.org/browser/trunk/frontend/afe/json_rpc/serviceHandler.py и добавил что-то вроде ниже (который бы фильтровал login, logout и is__logged__in, а для всех других функций он вызывал бы request.user.is_authenticated (), чтобы убедиться, что все остальные json rpc защищенный)

def invokeServiceEndpoint(self, meth, request, response, args):
  if meth.func_name == "login" or meth.func_name == "logout" or meth.func_name == "is_loggedin":
    return meth(request, *args)
  else:
    if request.user.is_authenticated():
      return meth(request.user, *args)
    else:
      from studio.rpc_exceptions import AccessDeniedException
      raise AccessDeniedException()
0 голосов
/ 16 декабря 2009

Я никогда не использовал Django, но вы, вероятно, можете установить, что будет возвращено, когда потребуется вход в систему.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...