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