9

別の(静的)サイトからJSONpとiframeを使用してアクセスされるSymfony2サイトの一部としてWebサービスを実装しています。ユーザーがiFrameを使用してログインすると、Safariはセッションを保持しないため、JavaScriptを使用して静的サイトのCookieにセッションIDを保存し、リクエストのGETまたはPOSTパラメーターに戻します。これは正常に機能しています。 。

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

symfonyサイトのWebサービス部分でのみ、PHPセッションCookieを無効にする方法はありますか?できればSymfony2に適した方法で(たとえば、.htaccessをいじるのとは対照的に)無効にしますか?

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

4

1 に答える 1

12

これはまさにあなたが探しているものかもしれません。ステートレス ファイアウォールを使用する:

security.yml で

# app/config/security.yml
security:
    firewalls:
        main:
            stateless:  true
于 2012-09-17T11:46:12.007 に答える