我有IdP启动的SSO设置,其中任何浏览https://www.xxxxxx.com
的人都将被重定向到https://www.yyyyyy.com
,并在成功验证主机yyyyyy.com
后将SAML响应发布到回调URL https://www.xxxxxx.com/SAML
。在
在网址.py在
url(r'^SAML$', views.index, name='index'),
url(r'^home$', views.home, name='home'),
url(r'^$', RedirectView.as_view(url='https://www.yyyyyy.com', permanent=True)),
在视图.py在
^{pr2}$在设置.py在
CSRF_TRUSTED_ORIGINS = ['yyyyyy.com']
MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.middleware.cache.UpdateCacheMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.common.BrokenLinkEmailsMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',
]
当我在索引视图上使用csrf_exemptive时,一切都正常,但是如果我删除csrf_exemptive,那么就会出现Cookie Not Set
错误。我有两个问题
我使用的是Django==1.9.5和python3.5.1
Django检查
request.POST
(在ajax请求的头中)中的CSRF令牌是否与CSRF cookie匹配。在对于这个视图,post请求来自不同的域,该域没有通过CSRF检查所需的令牌。因此,您需要对此视图使用
csrf_exempt
。在相关问题 更多 >
编程相关推荐