基于子域重写当前用户
django-host-user-override的Python项目详细描述
django host user override
===============
基于主机前缀覆盖当前用户。例如,对
``5.user.example.com``(格式可以在“设置”中更改)的任何请求都将变为
请求,就好像您以ID为5的用户身份登录一样。这允许您在不同的选项卡中同时以不同的用户身份登录**
,而不会丢失您的主要身份验证用户。
仅当您默认以超级用户身份登录时才起作用(可在“设置”中更改
)。
被覆盖。
Requirements
----
-您的DNS服务器应该解析子域`*.user.<;您的域>;``to
与主域相同的IP地址。
-您的项目不应该使用绝对链接生成或任何其他可以更改当前子域的技术。不过,安装django主机用户覆盖比要求更不方便。从pypi安装包:
``pip install django host user override`
2。将“主机用户覆盖”添加到“已安装的应用程序”中:
…代码::python
installed_apps=[
…,
‘主机用户_覆盖’,
…,
]
3.在
``authenticationmiddleware`:
代码::python
middleware=[
…,
'django.contrib.auth.middleware.authenticationmiddleware',
'host_user_override.middleware.hostuseroverridemidleware',
…,
]
4.更新“settings.py”文件以支持子域(也不要忘记
关于dns):“```` python-allowed\`u hosts=['.example.com']
session\`u cookie\`u domain='.example.com'``\`
5。在“user admin``:\``` python
admin.site.unregister(user)
@admin.register(user)类customuseradmin(useradmin):
change\`u form\`template='host\`u user\`override/change\`u form.html'```\`
可选设置
~如果希望主机模式不是
`<;id>;.user.<;domain>;``,请更新“settings.py”。例如“u<;id>;<;domain>;````````````` python
hostuseroverride\hostuseroverride\uhostregexpexp=r'u(:raw乳胶:`\d`+)…+'
hostuseroverride\u permanent\u redirect=false\````
7。将“hostuseroverride\u permission\u check”设置为自定义所需的
权限。应该是接受两个位置参数的函数:
当前用户和所需用户。
8。将“hostuseroverride\u force\u active”设置为强制被重写的用户处于
活动状态,即使被实际禁用也不例外。
usage
----
在django admin中打开任何非超级用户,然后按“以多用户身份登录”按钮。
license
----
此项目是在mit许可下授权的-请参阅
`许可证<;许可证>;``文件了解详细信息。
===============
基于主机前缀覆盖当前用户。例如,对
``5.user.example.com``(格式可以在“设置”中更改)的任何请求都将变为
请求,就好像您以ID为5的用户身份登录一样。这允许您在不同的选项卡中同时以不同的用户身份登录**
,而不会丢失您的主要身份验证用户。
仅当您默认以超级用户身份登录时才起作用(可在“设置”中更改
)。
被覆盖。
Requirements
----
-您的DNS服务器应该解析子域`*.user.<;您的域>;``to
与主域相同的IP地址。
-您的项目不应该使用绝对链接生成或任何其他可以更改当前子域的技术。不过,安装django主机用户覆盖比要求更不方便。从pypi安装包:
``pip install django host user override`
2。将“主机用户覆盖”添加到“已安装的应用程序”中:
…代码::python
installed_apps=[
…,
‘主机用户_覆盖’,
…,
]
3.在
``authenticationmiddleware`:
代码::python
middleware=[
…,
'django.contrib.auth.middleware.authenticationmiddleware',
'host_user_override.middleware.hostuseroverridemidleware',
…,
]
4.更新“settings.py”文件以支持子域(也不要忘记
关于dns):“```` python-allowed\`u hosts=['.example.com']
session\`u cookie\`u domain='.example.com'``\`
5。在“user admin``:\``` python
admin.site.unregister(user)
@admin.register(user)类customuseradmin(useradmin):
change\`u form\`template='host\`u user\`override/change\`u form.html'```\`
可选设置
~如果希望主机模式不是
`<;id>;.user.<;domain>;``,请更新“settings.py”。例如“u<;id>;<;domain>;````````````` python
hostuseroverride\hostuseroverride\uhostregexpexp=r'u(:raw乳胶:`\d`+)…+'
hostuseroverride\u permanent\u redirect=false\````
7。将“hostuseroverride\u permission\u check”设置为自定义所需的
权限。应该是接受两个位置参数的函数:
当前用户和所需用户。
8。将“hostuseroverride\u force\u active”设置为强制被重写的用户处于
活动状态,即使被实际禁用也不例外。
usage
----
在django admin中打开任何非超级用户,然后按“以多用户身份登录”按钮。
license
----
此项目是在mit许可下授权的-请参阅
`许可证<;许可证>;``文件了解详细信息。