Есть ли способ иметь и CAS, и обычную систему входа в систему в django admin? - PullRequest
0 голосов
/ 02 апреля 2019

Я интегрировал свое админ-приложение django с django-cas-ng.Все работает нормально, но после входа на страницу django автоматически перенаправляет меня в CAS - как и должно быть в любом случае.Однако, Я хотел бы иметь две системы аутентификации - CAS и django.

Короче, было бы неплохо, если бы у пользователя был выбор.Я думал о создании другой страницы, где пользователь будет выбирать систему входа в систему (эта страница будет размещена между django login и CAS), но насколько я знаю, это невозможно, поскольку админ-сайт указывает на «» и автоматически перенаправляет на «account / login»- любое изменение в этих сопоставлениях сломало бы систему:

urlpatterns = [
    path('', admin.site.urls),
    path('accounts/login', django_cas_ng.views.login, name='cas_ng_login'),
    path('accounts/logout', django_cas_ng.views.logout, name='cas_ng_logout'),
    path('accounts/callback', django_cas_ng.views.callback, name='cas_ng_proxy_callback'),
]

Итак, есть ли какой-нибудь рекомендуемый способ добиться этого?Я думал о переопределении AdminSite, но я считаю, что это не очень хорошая практика.

Любая помощь будет высоко оценена!

edit: вот мои settings.py

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend',
    'django_cas_ng.backends.CASBackend',
)
...