Базовая аутентификация 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/. Он проверяет имя пользователя / пароль по стандартной таблице пользователя.