Jaką implementację CAS zastosować w django?

Której implementacji CAS powinienem użyć, aby włączyć CAS single sign on do mojej aplikacji django (trusing a specified CAS server, I ' m not interested in creation a CAS provider) ? To co mogę znaleźć to:

Używałem już django-cas i wydaje się, że działa, ale wydaje się być porzucony? django-cas-consumer przynajmniej wydaje się mieć nowsze aktywność.

Jakie są rzeczywiste plusy i minusy każdej implementacji? Czy są inne implementacje, których powinienem użyć?

Author: Rasmus Kaj, 2009-11-12

5 answers

Używam starszej wersji django-cas od dłuższego czasu i działa zgodnie z oczekiwaniami. Nigdy nie używałem django-cas-consumer, ale przyjrzałem się temu.

Porównując kod pomiędzy dwoma projektami, wygląda na to, że django-cas-consumer jest okrojoną wersją django-cas.

Dwie najbardziej rażące różnice to:

  • django-cas-consumer obsługuje tylko wersję CAS 1
  • django-cas posiada oprogramowanie pośredniczące, które przechwytuje wszelkie żądania do django.contrib.auth.widoki.Zaloguj się i wyloguj i przekierowuje je do widoków logowania i wylogowania CAS

Ponadto, jeśli używasz Apache, możesz rozważyć użycie mod_auth_cas , który jest oficjalnym klientem CAS. Następnie możesz po prostu użyć django ' s remote user authentication.

 9
Author: Firass,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-28 19:54:23

Django-cas brakowało nam funkcji, których potrzebowaliśmy, więc zwijaliśmy własne: http://github.com/KTHse/django-cas2

 9
Author: Fredrik Jönsson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-26 14:00:54

Jeśli ktoś nadal interesujący CAS na django. Wypróbuj najnowszą i aktywną wersję django cas: django-cas-ng :

pip install django-cas-ng

Django-cas-NG jest implementacją klienta CAS (Central Authentication Service). Projekt pochodzi od django-cas. django-cas nie jest aktualizowany od 2013-4-1. Ten projekt będzie zawierał nowe poprawki i rozwój nowych funkcji. Ma więcej funkcji:

  • Obsługa wersji CAS 1.0, 2.0 i 3.0.
  • Support Django 1.5, 1.6, 1.7 z modelem niestandardowym użytkownika
  • Obsługa Pythona 2.7, 3.x
 5
Author: Ming C,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-12 21:40:05

Niska aktywność niekoniecznie oznacza, że produkt nie jest wystarczająco dobry. Może być tak, że produkt osiągnął stabilny stan. Prawdopodobnie powinieneś to potwierdzić u dewelopera. Osobiście wybrałbym stabilny system zamiast takiego, który pokazuje dużą aktywność (zwłaszcza jeśli aktywność jest naprawiana)

 4
Author: Sanrag Sood,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-04 09:48:40

The kstateome/django-cas repo jest bardziej aktywny ostatnio (2015) z następującymi szczegółami.

Wymagania

  • aktualna wersja: 1.1.1
  • Django 1.5 or above,
  • Python 2.6, 2.7, 3.4

Funkcje

Jest to widelec K-State oryginału i zawiera kilka dodatkowych funkcji, jak również funkcje połączone z

 3
Author: Édouard Lopez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-19 10:15:51