当Web服务器(此处为IIS上托管的django)负责身份验证时,通常会设置REMOTE_USER
环境变量以供基础应用程序使用。在Django中,REMOTE_USER
在request.Meta属性中可用。可以使用django.contrib.auth中REMOTE_USER
的RemoteUserMiddleware
和RemoteUserBackend
类将Django配置为使用该值。配置您必须django.contrib.auth.middleware.RemoteUserMiddleware
在MIDDLEWARE_CLASSES
后面添加django.contrib.auth.middleware.AuthenticationMiddleware
:
MIDDLEWARE_CLASSES = (
...
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.RemoteUserMiddleware',
...
)
接下来,则必须更换ModelBackend
同RemoteUserBackend
在AUTHENTICATION_BACKENDS
设置:
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.RemoteUserBackend',
)
使用此设置,RemoteUserMiddleware
将检测到用户名,request.Meta['REMOTE_USER']
并使用对该用户进行身份验证和自动登录RemoteUserBackend
。
(更多信息https://docs.djangoproject.com/en/1.5/howto/auth-remote- user/)
要REMOTE_USER
发出请求,请执行以下IIS设置:
1.在“控制面板”中,单击“程序和功能”,然后单击“打开或关闭Windows功能”。
2.展开Internet信息服务,展开万维网服务,展开安全性,然后选择Windows身份验证。