rea*_*akh 6 django integration ruby-on-rails
我有一个由其他人用ruby-on-rails构建的网站,我现在正在构建一个django应用程序.
我需要我的用户使用我在django上构建的登录页面登录并浏览我的django页面(到目前为止 - 很容易做到)但我还需要在侧边栏上添加链接到该RoR应用程序(从那里他们将成为能够回到我的应用程序).
用户不应该知道他们正在"离开"django应用程序 - 对于他们的一个网站 - RoR应用程序看起来和他们感觉相同.
A.我怎么能这样做?
B.他们使用django应用程序登录,因此会话和所有用户资料将由django管理.如何将会话"传递"到RoR应用程序?我应该使用iframe吗?
C. django中链接到RoR url的样子怎么样?
感谢你们!
这里的最佳实践是研究广告网络如何跨多个属性共享状态。一种常用的方法是跟踪像素。例如,在您的 Django 应用程序中,嵌入:
<img src="http://myrailsapp/mysession_creator" />
Run Code Online (Sandbox Code Playgroud)
确保您的 Rails 应用程序通过会话响应该地址。这将在 Rails 域上建立一个会话 cookie。
现在要对安全性进行分层,这取决于您需要什么级别的安全性。您可以传递信息,例如:
<img src="http://myrailsapp/mysession_creator?user=myUserName" />
Run Code Online (Sandbox Code Playgroud)
显然不是非常安全,但这取决于您的应用程序。更安全的方法是:
<img src="http://myrailsapp/mysession_creator?t=<MD5HashTokenHere>" />
Run Code Online (Sandbox Code Playgroud)
然后,Rails 应用程序将具有针对 Django 应用程序服务器端验证该令牌的机制(通过数据库状态或服务器端应用程序调用)。工作量更大,但更安全。
另一种方法是,如果您的应用程序共享根域,则可以在根域上使用安全 cookie 在应用程序之间传递信息。例如,https://django.myapp.com设置 myapp.com cookie,并且https://rails.myapp.com知道查找“用户名”cookie。需要根域上的通配符 SSL 证书。
另一种选择是将令牌或登录信息与每个链接一起传递到 Rails 应用程序,并使用 before_filter 来识别移交并以类似的方式建立会话。
| 归档时间: |
|
| 查看次数: |
676 次 |
| 最近记录: |