Я пытаюсь сделать веб-сайт, которым могут пользоваться только студенты Университета Ватерлоо. Он использует CAS для аутентификации. Я начал использовать пакет django_cas. Следовал за шагами в значительной степени мертвым. Вот что я тестировал:
перенаправлен на страницу входа в CAS - пройти
проверить пользователя на сервере CAS - пройти
перенаправить обратно на сайт - ошибка
(ОБНОВЛЕНИЕ: добавление кода для уточнения) РЕШЕНИЕ:
Кажется, я неправильно указал CAS_SERVER_URL. Протокол https вместо http для CAS-сервера моей школы.
cas_django требует небольшой настройки:
## in settings.py
CAS_SERVER_URL = 'http://cas-dev.uwaterloo.ca/cas/'
LOGIN_URL = '/accounts/login/'
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django_cas.middleware.CASMiddleware',
)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'django_cas.backends.CASBackend',
)
## in urls.py
(r'^accounts/login/$', 'django_cas.views.login'),
(r'^accounts/logout/$', 'django_cas.views.logout'),
## in views.py
@login_required
def sample(request):
return render_to_response('sample.html')
Вместо этого я получил 404:
Запрошенный URL-адрес /cas/login/http://uwnetwork.shaon.ca/accounts/login/?next=%2Fsample%2F не найден на этом сервере.
Кто-нибудь знает, почему он не может перенаправить?