2

次の問題があります。同じドメイン上の 2 つのアプリケーション間で Cookie を共有することについて調査しましたが、何かが欠けていると確信しており、まだ答えが見つかりません。

次のような webistes に 2 つのアプリがあります。

 if (ModelState.IsValid && CustomMembershipProvider.ValidateUser(userNameOrEmail, password))
 {
    FormsAuthentication.SetAuthCookie(userNameOrEmail, true);
 }

両方のアプリで web.config を使用します。

<authentication mode="Forms">
      <forms name="loginCookie" path="/" loginUrl="~/Users/Account/AccessDenied" timeout="2880" cookieless="UseCookies"
         enableCrossAppRedirects ="true" domain=".domain.com"
         requireSSL="false"/>
    </authentication>

<machineKey validationKey="CB6DEDC99140ABCEA1CFE08BEF8407BE2AE60DDB905264F6F7FAA9650B5AB4F1986F84878B4842FB9B51EDD477FFC518C6B6F1687FF25D5BAE883C313F05A6A4" decryptionKey="B0F735974F5261E63D07F4571FB11B392477173098F71E7CA76C1DD9A459C638" validation="SHA1" decryption="AES" />

2 番目のアプリは、asp.net mvc 4 アプリケーションです。

Cookie は毎回作成されるので機能しますが、portal.app.domain.com は loginCookie を「認識」しません。Request.IsAuthenticated は false を返し、Request.Count には必要な Cookie の有効な数が含まれていません。さらに、portal.app.domain.com にサインオンすると、loginCookie がまったく同じ方法で作成されますが、新しい値が使用されます。奇妙なのは、ドメインのすべての Cookie をフィドラーで確認できることです。リダイレクトについて何かを見つけましたが、誰かがそれについてもっと説明してくれますか (何を追加すればよいですか?)、さらに、リダイレクトなしで Cookie を共有する可能性があります。ブラウザで app.domain.com とログインできますか?

すべての返信に事前に感謝します。

4

1 に答える 1