Базовая аутентификация Django в функциональном представлении

Я пытаюсь применить механизм базовой аутентификации к функциям в моих функциях просмотра.

У меня есть некоторые функции просмотра, которые возвращают данные JSON через шаблон. Если я захожу в мое приложение через веб-браузер, мне нужно получить диалоговое окно входа в систему, в противном случае заголовок авторизации используется для API RESTFUL.

Я посмотрел на документацию TastyPie и не могу найти примеров того, как бы я использовал ее таким образом.

Например, в файле view.py у меня есть следующее:

def userIndex(request):
    some_list = Some.objects.order_by('pub_date')

    return render_to_response('myapp/data.json',
                          {'some_list': some_list,},
                          mimetype="text/json")

Как бы я применил проверку авторизации к вышеуказанному?

1 ответ

Вам не нужно различать посещение браузера и вызов API. Если вы следуете базовой спецификации HTTP-аутентификации, браузеры будут отображать диалоговое окно входа в систему без вашего участия.

А вот декоратор, который реализует базовую проверку подлинности: http://djangosnippets.org/snippets/243/. Он проверяет имя пользователя / пароль по стандартной таблице пользователя.

Другие вопросы по тегам