繁体   English   中英

Django_hosts无法使用Django的默认身份验证

[英]Django_hosts Not Working With Django's Default Authentication

我正在使用名为django_hosts的软件包来重新路由某些应用程序的URL。

除了django_hosts不适用于Django Authentication之外,其他一切都正常。

我托管了此网址api.example.com,因此在此网页上的网址为api.example.com:8000/add_post,我希望用户添加帖子,但在进行此操作之前必须先进行身份验证。 因此,登录后,我仍然无法通过无聊的形式提交帖子。 但是当我回到example.com时,它表明我已经登录,但是api.example.com告诉我否则。

如何使django身份验证与此软件包一起工作?

问题是身份验证令牌已挂接到域。 使用Django的默认配置, api.example.com无法访问example.com身份验证令牌。

您可以通过在settings.py模块中设置SESSION_COOKIE_DOMAIN配置来更改此行为:

SESSION_COOKIE_DOMAIN = 'example.com'

但是不要太快! 仔细做,否则您可能会破坏您的应用程序:

在生产站点上更新此设置时请小心。 如果您更新此设置以在以前使用标准域cookie的站点上启用跨域cookie,则现有用户cookie将被设置为旧域。 只要这些cookie持续存在,这可能导致它们无法登录。

有关官方文档的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM