2012-04-27 6 views
7

JSONpと別の(静的な)サイトのiframeを使ってアクセスするSymfony2サイトの一部としてWebサービスを実装しています。ユーザーがiFrameを使用してログインすると、Safariはセッションを保持しないため、JavaScriptを使用して静的サイトのCookieにセッションIDを格納し、要求のGETまたはPOSTパラメータに戻します。これは正常に動作しています。Symfony2が特定のパスのセッションクッキーを送信するのを止める方法はありますか?

問題は、他のブラウザでは、Webサービスのセッションクッキーが保持されていることです。つまり、ユーザーがログアウトすると、実際にはSymfonyサイトにログインしています。

symfonyサイトのWebサービス部分では、PHPセッションクッキーを無効にする方法がありますか?symfony2にやさしい方法で(例えば、.htaccessを使うのではなく)。

私はまだセッションが必要ですが、私が行うすべてのリクエストにPHPSESSID変数を自分で渡すことでセッションを維持します。

答えて

11

Thisあなたが探しているものかもしれません。ステートレスファイアウォール持っている:あなたのsecurity.yml

# app/config/security.yml 
security: 
    firewalls: 
     main: 
      stateless: true 
+0

を私がすることを試みたと思うし、それは、フォームベースのログインか何かでは動作しませんでした。 – rjmunro

+0

ああフォームベース。そうであっても、フォームベースのログインではセッションとCookieが使用されます。私はステートレスなWebサービスを行っていますので、トリックは –

+0

参照してください:[Symfony Book - セキュリティ - ステートレス認証](http://symfony.com/doc/current/book/security.html#stateless-authentication) – flu

関連する問題