次の問題があります。同じドメイン上の 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 とログインできますか?
すべての返信に事前に感謝します。