0

次のような同じドメインにある複数のイントラネット サイトがあります。

  • テストサイト/サイト1
  • テストサイト/サイト 2

これらのアプリケーションでは、OWIN 混合認証を使用しています。しかし、あるサイトでユーザーを認証し、他のサイトでその認証を使用する方法が見つかりませんでした。

それに従うためのガイドはありますか?

4

1 に答える 1

0

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",

        });

お役に立てれば。

于 2015-12-17T15:35:17.687 に答える