Win2008R2 IIS7 に 2 つの ASP.NET 4.0 サイト (demo1.site.domain.com と demo2.site.domain.com など) があり、シングル サインオンが必要です。私は周りを検索し、両方のサイトの web.config を次のように構成しました
<machineKey validationKey="ABCDEFG" decryptionKey="HIJKLMN" validation="SHA1" />
<roleManager defaultProvider="RoleName">
<providers>
<add name="RoleName" type="Assembly.RoleProvider, Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a1b2c3d4e5f6g7h8i9" />
</providers>
</roleManager>
<membership defaultProvider="MembershipName">
<providers>
<add name="MembershipName" type="Assembly.MembershipProvider, Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a1b2c3d4e5f6g7h8i9" />
</providers>
</membership>
<authentication mode="Forms">
<forms
loginUrl="http://demo1.site.domain.com/login.aspx"
name=".ASPXAUTH"
domain="domain.com"
protection="All"
path="/"
/>
</authentication>
<authorization>
<deny users="?" />
</authorization>
つまり、マシン キーは両方の Web サイトで同じであり、メンバーシップ/ロール プロバイダーは最初のサイトのアセンブリに存在し、2 番目のサイトで使用されます。
私が抱えている問題は、それが機能しないことです。フィドラーを使用して何が起こっているかを確認しましたが、認証 Cookie は 2 番目のサイトに送信されないため、常にログイン ページにリダイレクトされます。
明らかな何かが欠けていますか?
ありがとう、ニック