Django 1.6、Python 3.3
我只想获取经过 Apache 身份验证的用户并将其保存为变量。有没有 django-y 的方法来做到这一点?直接用Python 怎么样?
如果有帮助,我计划使用该值作为模型字段的默认值 - 但我也想在代码中的其他位置使用它。
谢谢。
最佳答案
Apache 的身份验证设置可在 Django View 中访问的 REMOTE_USER
环境变量。
具体来说,根据docs ,
... in Django, REMOTE_USER is made available in the request.META attribute.
但是,您需要设置 MiddleWare,以便 Django 知道获取 REMOTE_USER
( source ):
MIDDLEWARE_CLASSES = (
'...',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.RemoteUserMiddleware',
'...',
)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.RemoteUserBackend',
)
之后,您可以使用 request.META['REMOTE_USER']
对用户进行身份验证并自动登录。
关于python - Django 获取 Apache 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25332433/