最近、私のプロジェクトのSymfonyモジュールの1つにXML APIを追加するように求められました。私はそれをし、それはうまく動作します。認証にはsfGuardPlugin
を使用します。 Symfonyのバージョンは1.3.11です。 Doctrineではなく、Propelを使う。sfGuardPluginセッション:wgetで再利用する方法 - またはSIDをsfGuardUserにマップする
私にとって最も最近の要求はこれです:
- 私たちは、ウェブサイトにFlashゲームを埋め込みます。
- FlashはXML APIへのリクエストを行います。
- Flashアプリケーションをコーディングしている人は、ブラウザとクッキーを共有していないと言っています。
- Flashが現在ログインしているユーザーのセッションを再利用できるようにします(ユーザーがログインしていない場合でも表示されないようにします)。
私はこの-だろう解決しようとしました:を(他のSOの記事や、さまざまなGoogleの検索結果から取られた)
- 私はsymfonyのセッションが
symfony
クッキーに存在すると言われました。 - 私はこれがに判明
- など、同じユーザーがログインしている、私は(私の場合は、
wget
)別のクライアントでは、この値をコピーして、session_id("stolen_session_id")
をすれば、私はセッションを複製することができるようになりますと言われました間違っている。私のクッキーsymfonyが "blabla"という値を持っていたとします。私はこれをした:wget --post-data='session_id=blabla' X.X.X.X:NN/api/bla.xml -O-
。私のサーバーのPHPコードは、このPOSTパラメータを解析し、それをsession_id
関数に送ります。その後、session_id('blabla')
が1
を返していることをログに記録しました。ただし、$this->getUser()->getGuardUser()
を呼び出すとnull
が返されます。
私は、有効なsfGuardUser
に渡さsession_id
をマッピングする方法が必要です。または既に存在するセッションを再利用する別の方法を見つけることができます。
私は完全にクッキーにアクセスできるとします。私は、これを達成するために複製する複製のいずれか(またはそのすべて)を知りたいです。
私のChrome開発ツールでは、symfony
のセッションタイプのCookieが表示されています。だから私の方法がうまくいかない理由はまったく不思議ではありませんが、sfGuardPlugin
を使っている間、私はSymfonyでこれをどうやってやっているのですか?
これは最も情報に乏しい質問の1つではありませんが、私はただの助けが必要です。
お時間をいただきありがとうございます。
(Dimitar P.)
おっと、私は自分のドメインに見たクッキー言及するのを忘れてしまった: __utmz
- symfonyの
- sfRemember
- __utma
- __utmb
- __utmc
-
私は最後の4つはGoogleアナリティクスだと思っています。
のようなものを作成しましょう。まあまあ、誰かが私と同じ答えを出して15人の担当者を得るのに十分な時間を待っていました。私の答えを受け入れます。 ;) – dimitarvp