Python RemoteUserMiddleware不工作,它只是将我重定向到/accounts/login/?next=
我正在尝试使用Python RemoteUserMiddleware不工作,它只是将我重定向到/accounts/login/?next=,python,django,authentication,remoteusermiddleware,Python,Django,Authentication,Remoteusermiddleware,我正在尝试使用REMOTE\u USER在Django中进行简单的WWW-AuthenticateHTTP身份验证。这件事就这样结束了 不幸的是,在像这样更改我的配置文件之后: MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.C
REMOTE\u USER
在Django中进行简单的WWW-Authenticate
HTTP身份验证。这件事就这样结束了
不幸的是,在像这样更改我的配置文件之后:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.RemoteUserMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.RemoteUserBackend',
)
将@login\u required
装饰器添加到我的视图中,它不起作用。当我查看页面时,它会将我指向accounts/login/?next=/page/I/trued/to/access
,该页面不存在并引发404错误
为什么它不直接发送
WWW-Authenticate
?如果这不是正确的方法,我该怎么做?RemoteUserMiddleware
不用于实现基本身份验证,而是用于处理通过其他源(如配置为使用htpasswd的Apache)使用基本身份验证登录的用户。Django不支持开箱即用的基本身份验证,但说它可以提供它。@robertklep谢谢你的回答,我在Apache中添加了一个带有AuthType basic
的Location
指令以及其他指令后就可以使用它了。我误解了中间件的实际用途。