基于子域重写当前用户

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许可下授权的-请参阅
`许可证<;许可证>;``文件了解详细信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javai是JAXB的新手。如何将两个具有不同名称空间的不同xml合并为一个具有根元素的xml并将其解组?   JDO中的java应该是可传递的DefaultFetchGroup吗   java服务器配置问题   java在理解JList时遇到困难   java何时将RequestContextFilter用于Jersey?   java从数据库中读取文本文件。jar文件   Java正则表达式,仅适用于不包括零的正数   爪哇番石榴。类路径中的jar   JavaEE:关于设计的问题   java GUI,在面板中排列按钮   java Android为什么使用接口被认为是活动和片段之间通信的最佳实践?   java如何获取wicket图像的url以在开放图元标记中使用它   从Java字节[]>Base64>Javascript数组缓冲>Base64>byte[]   java正则表达式帮助字符串JWE766。1.pdf格式摘录766   java Hibernate,JPA忽略@Formula