0

デフォルトの Cookie ベースのセッション ストアを使用しています。基本的に、私はherokuを使用し います . Heroku の URL にアクセスしたときのセッション。herokuページのsession[:user_id]にアクセスしたいのですが、herokuページに行くと新しいセッションが生成されてしまいます。

クエリ文字列のメイン URL に session_id を渡すことができると思っていましたが、heroku URL ページからアクセスする方法がわかりません。

私はこれを試しました:

session[params[:sid]][:user_id]  

しかし、それは機能していません。セッション ID がわかれば、セッション情報にアクセスできますか? または、別の URL からセッション情報を読み取る別の方法はありますか (ただし、すべて同じ Rails アプリ内にあります)。

ありがとう。

4

1 に答える 1

0

これを機能させるには、Heroku アプリがメイン アプリと同じ TLD で実行されるように、Heroku でドメインを設定する必要があります。これを行うには、次のようにドメインを請求アプリに追加します。

$ heroku domains:add billing.myapp.com

Heroku の指示に従ってDNS を設定してください。

請求アプリは、http://billing.myapp.com/billing (Heroku 上) に存在します。そうすれば、コントローラーは同じセッションと Cookie にアクセスできるはずです。

両方のアプリで、environments/production.rb でセッション ドメインを設定してください。

config.action_controller.session = { :domain => ".myapp.com" }

また、Cookie がハッキングされたり、侵害されたりする可能性があるため、アプリ間で何らかの共有認証またはトークン認証を使用することを検討してください。

于 2011-01-25T15:42:02.500 に答える