Django - 使用REMOTE_USER进行身份验证 - 如何在开发服务器中测试?
我想使用django.contrib.auth.middleware.RemoteUserMiddleware来进行身份验证,具体的说明可以在这里找到:
https://docs.djangoproject.com/en/dev/howto/auth-remote-user/
我的问题是,如何在没有Apache的开发环境中测试这个功能?也就是说,我能不能在本地设置中以某种方式设置REMOTE_USER?
编辑(添加设置)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.RemoteUserBackend',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.RemoteUserMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
...
)
然后我在我的local_Settings中有这些内容:
os.environ['REMOTE_USER'] = "mmatyas"
我还尝试过'HTTP_REMOTE_USER'这个变种。谢谢!
3 个回答
-1
在你的开发环境中,你可以在启动开发服务器的命令提示符里设置一个环境变量。
比如在类Unix系统上,你可以输入 export REMOTE_USER="duncan"
来设置。
另外,你也可以通过编辑你的 manage.py 文件来设置这个变量,方法是加上 os.environ['REMOTE_USER'] = "duncan"
。
0
你可以写一些 WSGI 中间件,然后把它设置好,确保这个中间件能够把你的 Django 应用包裹在 WSGI 的结构里。网上有很多关于如何写 WSGI 中间件的教程,通常只需要一页代码就能搞定。简单得很!
1
这个变量需要在你启动开发服务器的环境中设置。通常只需要这样做:
REMOTE_USER=myuser ./manage.py runserver