次のような同じドメインにある複数のイントラネット サイトがあります。
- テストサイト/サイト1
- テストサイト/サイト 2
これらのアプリケーションでは、OWIN 混合認証を使用しています。しかし、あるサイトでユーザーを認証し、他のサイトでその認証を使用する方法が見つかりませんでした。
それに従うためのガイドはありますか?
次のような同じドメインにある複数のイントラネット サイトがあります。
これらのアプリケーションでは、OWIN 混合認証を使用しています。しかし、あるサイトでユーザーを認証し、他のサイトでその認証を使用する方法が見つかりませんでした。
それに従うためのガイドはありますか?
OWIN-Mixed には Windows 認証エントリ ポイントがありますが、その後は通常のフォーム認証を使用しています。
testsite/site1 と testsite/site2 が同じ認証 Cookie を読み取れるようにする必要があります。そのためには、Cookie が同じキーで暗号化されていることを確認する必要があります。
これは、両方の web.configs に同じmachineKey要素を含めることで実現できます。
たとえば、Site1 と Site2 の両方の web.config ファイルに次を追加します。
<machineKey
validationKey="55304E97702846DD86E818E6A4924952B3B2D28A06E3F6CC05919C044FDEF6FC0F578FA366ECD838F34AE1806219B4AB1241FFF9CF1B935B46E559286F17AD19"
decryptionKey="2D18B05A7B82E04AFA36D94658A64281247D81494C95C87A1F2BCDA6C1539437"
validation="SHA1" decryption="AES"
/>
Cookie ドメインと名前が同じであることを確認してください。また、両方のアプリケーションが同じドメインにあることを確認してください。
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
CookieDomain = ".testsite.com",
CookieName = "AuthenticationCookie",
});
お役に立てれば。