Это пример, который будет отлично работать, если сервисы AJAX используются только вашими клиентскими приложениями. Я делаю это все время, потому что один и тот же дизайн используется для передачи клиенту всех других типов данных посредством ответа, для которого клиент должен выполнить дополнительные действия или иным образом предоставить некоторую обратную связь пользователю. Он отлично работает, когда на вашем сайте смешанные пользователи, то есть вы поддерживаете как анонимных, так и зарегистрированных пользователей.
Если ваши сервисы сборки для сторонних поставщиков, вам придется либо использовать OAuth, базовую аутентификацию доступа HTTP или дайджест-аутентификацию доступа HTTP. Это происходит, когда вы знаете / предполагаете, что все пользователи, выполняющие запросы, имеют зарегистрированные учетные данные. Следовательно, эти схемы аутентификации позволяют пользователю аутентифицировать себя, если система аутентификации запрашивает у него учетные данные, которые они могут немедленно предоставить под рукой, без необходимости вручную вводить их на перенаправленной странице входа в систему.
Так что, если у ваших сервисов смешанные пользователи, я бы придерживался того, что у вас есть. В противном случае вам придется заняться чем-то более сложным, то, что предполагает, что неаутентифицированные пользователи имеют и могут немедленно предоставить свои учетные данные.
В любом случае я предлагаю вам взглянуть на Джанго-поршень . Это как довольно простой контроллер для анализа запросов AJAX и сериализации ответов AJAX. Основываясь на предоставленной модели и HTTP-глаголе, он может автоматически сделать большую работу для вас при предоставлении доступа к модели пользовательским агентам, плюс он также поставляется с OAuth и HTTP-аутентификацией доступа.