我有一个Django应用程序,使用标准的Django auth系统登录和注销用户。该应用程序还使用存储在Django数据库中的会话(数据库存储也是Django默认值)。
到目前为止,非常好,但是:
在同一个域上,我在apache上运行了大量的php页面。我希望能够通过我的Django应用程序登录并让django启动我所有的会话变量然后当我点击一个链接,带我到一个PHP部分,我希望能够访问我在php中创建的Django会话变量
分享会话的最佳选择是什么?
(如果没有任何区别PHP不编辑会话,只使用变量)
答案 0 :(得分:1)
您可以在PHP中实现自己的Custom Session Handler。连接到存储来自Django数据库的会话数据的数据库,这些数据将在PHP中透明地作为会话值提供。
自定义会话处理程序的一个好处是,您可以使该会话在PHP中写保护,您只需删除任何更改。
接下来,您需要共享session id,它已连接到session name。我不太了解Django,但我想有一些类似的东西,所以如果你使它兼容cookie或URL参数甚至可以立即工作。
答案 1 :(得分:0)
SUCCESS !! (一种)它有点被黑了,但我设法让它发挥作用。
而不是尝试重写django_php_bridge db.py文件以使用新版本的phpserialise(1.2),
我曾经使用过几个自己的自定义调整旧版本。最重要的是,我必须在serialize函数中添加一个额外的if语句来转换unicode字符串,但除此之外我只是按照说明djang_php_bridge docs文件(记得在django设置文件中设置SESSION_COOKIE_NAME字段),它立即起作用
在我有更多时间的时候,我会重新编写django_php_bridge以使用最新的phpserialize版本,但是现在我很高兴能有一个成功的出来。