Django 1.6,Python 3.3
我只想获取Apache认证的用户并将其保存为变量。是否有django-y方式来做到这一点?那么直接在Python中呢?
如果有帮助我计划将该值用作模型字段的默认值 - 但我也想在我的代码中的其他位置使用它。
感谢。
答案 0 :(得分:2)
Apache的auth设置可在Django视图中访问的REMOTE_USER
环境变量。
具体而言,根据docs,
...在Django中,REMOTE_USER在request.META属性中可用。
然而,你需要设置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']
进行身份验证并自动登录用户。