Реализация аутентификации / авторизации с использованием CouchDb в качестве бэкэнда в Django - PullRequest
2 голосов
/ 17 марта 2011

Мне нужно хранить информацию об аутентификации и авторизации в couchdb. Я использовал метод, аналогичный this для реализации аутентификации. Тем не менее, что мне нужно для реализации авторизации для пользователей. Мне нужно, чтобы определенные действия вызывались только конкретными пользователями. Будет ли для этого хорошей идеей использовать декоратор user_passes_test?

Я также хочу переместить хранилище сеансов в отдельный экземпляр couchdb. Это будет хорошей идеей? Может кто-нибудь дать мне указатели / примеры того, как это сделать.

Я новичок в Python и Django.

1 Ответ

0 голосов
/ 06 мая 2011

Чтобы ответить на первую часть вашего вопроса, все, что вам нужно реализовать, - это метод «authenticate» вашего пользовательского бэкэнда аутентификации.В Django docs есть несколько достойных примеров того, как вы могли бы реализовать аутентификационный бэкэнд.

Что касается вашего вопроса о разрешениях, это зависит от точных деталей того, какие типы проверок разрешений вам нужны.Если ваша модель разрешений хорошо согласуется с существующей системой разрешений Django, вы можете принимать решения об авторизации на основе данных в couchdb, внедряя необязательные биты разрешений в свой пользовательский бэкэнд аутентификации.Опять же, в Django docs есть подробности о том, как именно это сделать.

Что касается хранилища сеансов, я недостаточно знаю о характеристиках производительности CouchDB, чтобы сказать, нужно ли вам хранитьДанные сеанса в отдельном экземпляре или нет.Однако я могу сказать, что в любом случае вы используете экземпляр CouchDB в качестве хранилища сеансов, используя собственный механизм сеансов .При быстром осмотре все выглядит так: django-couchdb-utils может предоставить вам механизм сеанса, который вы можете подключить без особой работы (может также иметь некоторые другие полезные для вас биты).

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