我正在努力创建一个只有滑铁卢大学学生可以使用的网站。它使用CAS进行身份验证。我开始使用django_cas包。紧随其后的步骤。以下是我测试的内容:
重定向到CAS登录页面 - 传递
验证CAS服务器上的用户 - 传递
重定向回网站 - 失败
(更新:添加代码以澄清) 解决方案:
似乎我的CAS_SERVER_URL错了。 我的学校的CAS服务器协议是https而不是http
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:
在此服务器上找不到请求的网址/cas/login/http://uwnetwork.shaon.ca/accounts/login/?next=%2Fsample%2F。
有人知道它为什么不能重定向?
答案 0 :(得分:0)
你并没有真正为某人提供足够的信息给你一个有意义的答案。
尝试以下方法: