質問

私はドメイン間でセッションクッキーを共有したいです。

私は複数のドメインを持っています: -

1. mydomain.com
2. mydomain.fr
3. mydomain.de
4. mydomain.da
...and many other language based
.

今、私はサーバー上に配置された単一のウェブサイトを持っています。私は単一のWebサイトのさまざまなドメイン間でセッションを共有したいです。これを達成するにはどうすればいいですか?

Web <httpCookies domain=".mydomain.com" />で見つけましたが、それはサブドメイン(test.mydomain.comsecure.mydomain.comなど)で動作しますが、異なるドメインでは機能しません。

私は<httpCookies domain=".mydomain." />を試しましたが、このセッションによって作業を停止しました。

誰もが私を助けてもらえますか?

役に立ちましたか?

解決

最上位ドメイン名前の異なるドメインでクッキーを共有することはできません。

これは、サブドメイン

を使用して行うことができます。
mydomain.com
fr.mydomain.com
de.mydomain.com
da.mydomain.com
...
.

他のヒント

異なるドメイン間で直接クッキーを共有することはできません。しかし、いくつかの文脈でそれを可能にする1つの方法があります。JSSPにJSONPを要求または読み込むことができます。iframeを使用すると、フォームを使用してHTTP POST呼び出しを行います。フォームタグには、別のドメイン名がアクションとして、IFrame Nameがターゲットとして機能します。IFRAMをロードし、あなたの別のドメインのクッキーがあなたのブラウザに入ってくるでしょう。

コード:

<iframe name="iframe-test" border="1px"></iframe>

<form id="iframe-form" target="iframe-test" action="http://differentdomain.com/setCookie" method="POST">
     <input type="hidden" value="1234" name="token">
   </form>

    <script type="text/javascript">
        function submitForm(){          
            var form = document.getElementById("iframe-form");
            form.submit();              
        }
    </script>
.

オッデ状態として、さまざまな最上位ドメイン間でクッキーを共有することはできません。したがって、セッションを永続的に持続する方法を調べる必要があるかもしれません。

セッション状態プロバイダをDanyolgiaxとしてスワッパすると、セッション識別がまだCookieで起こっているため、問題を解決することはありません。したがって、あなたは川のないセッションのようなアプローチを調べる必要があります:

cookieles sessions < / P>

その後、データをデータベースまたはInProcセッションに保存することを選択できます。クッキーへの依存関係を削除したら、

編集

さらに、クッキー以外のクッキーを使用しているクライアントサイドのアクティビティを使用して、これらのサーバー/セッション格納値に基づいて、それぞれの異なるドメインからそれらを書き込むことになります。そのため、ユーザーの切り替えドメインは最終的に取得します 各ドメインのクッキー

SQL Serverを使用している場合は、セッションステートプロバイダとして使用できると思います。

web.config:

<sessionState 
        mode="SQLServer"
        sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
        cookieless="false" 
        timeout="20" 
/>
.

ここにいくつかのdoc:

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top