Какую реализацию CAS использовать в django?
Какую реализацию CAS следует использовать для включения единого входа CAS в мое приложение django (с использованием указанного CAS-сервера, я не заинтересован в создании CAS-провайдера)? Я могу найти следующее:
Раньше я использовал django-cas, и, похоже, он работает, но кажется заброшенным? django-cas-consumer, по крайней мере, кажется, имеет более недавнюю активность.
Каковы фактические плюсы и минусы каждой реализации? Существуют ли другие реализации, которые я должен использовать?
Ответы
Ответ 1
Я уже давно использую более старую версию django-cas, и она работает так, как ожидалось. Я никогда не использовал django-cas-consumer, но я просмотрел его.
Сравнивая код между двумя проектами, похоже, что django-cas-consumer - это урезанная версия django-cas.
Двумя наиболее яркими отличиями являются:
- django-cas-consumer поддерживает только версию CAS 1
- django-cas имеет промежуточное программное обеспечение, которое захватывает любые запросы к django.contrib.auth.views.login и выходит из системы и перенаправляет их на виды входа и выхода CAS
Кроме того, если вы используете Apache, вы можете использовать mod_auth_cas, который является официальным клиентом CAS. Затем вы можете просто использовать django удаленную аутентификацию пользователя.
Ответ 2
В Django-cas отсутствовали функции, которые нам были нужны, поэтому мы сделали свой собственный:
http://github.com/KTHse/django-cas2
Ответ 3
Если кто-то еще интересуется CAS на джанго. Пожалуйста, попробуйте самую последнюю и активную версию django cas: django-cas-ng:
pip install django-cas-ng
django-cas-ng - это реализация клиента CAS (Central Authentication Service). Этот проект наследуется от django-cas. django-cas не обновляется с 2013-4-1. Этот проект будет включать новое исправление ошибок и разработку новых функций.
Он имеет больше возможностей:
- Поддержка CAS версии 1.0, 2.0 и 3.0.
- Поддержка Django 1.5, 1.6, 1.7 с пользовательской моделью пользователя
- Поддержка Python 2.7, 3.x
Ответ 4
Низкая активность не обязательно означает, что продукт недостаточно хорош. Возможно, продукт достиг стабильного состояния. Возможно, вы должны подтвердить это с помощью разработчика. Лично я бы пошел на стабильную систему над той, которая показывает много активности (особенно, если активность является исправлением ошибок)
Ответ 5
kstateome/django-cas репо более активно активно (2015) со следующими подробностями.
Требования
- Текущая версия: 1.1.1
- Django
1.5
или выше,
- Python
2.6
, 2.7
, 3.4
Особенности
Это вилка K-State оригинала и включает в себя несколько дополнительных функций, а также функции, объединенные с