簡體   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