Sitecoreでのフェデレーション認証の使用

Version: 10.1
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

これまで、SitecoreはASP.NETメンバーシップ を使用してユーザー資格情報を検証および保存してきました。ASP.NET 5で、Microsoftは ASP.NET Identityと呼ばれる別の、より柔軟な検証メカニズムの提供を開始しました。

ASP.NET Identityは、Owinミドルウェア コンポーネントを使用して外部認証プロバイダーをサポートします。これらの外部プロバイダーは、Sitecore Experience Platform内でのフェデレーション認証を許可します。

サイトコア:

  • Owinミドルウェアを使用して、認証をサードパーティ プロバイダーに委任します。

  • サードパーティ プロバイダーからクレームを取得します。

フェデレーション認証はデフォルトで有効になっています。フェデレーション認証を無効にするには:

  • \App_Config\Include\Examples\ folderで、Sitecore.Owin.Authentication.Disabler.config.exampleの名前をSitecore.Owin.Authentication.Disabler.configに変更します。

Sitecoreフェデレーション認証は、 Owinがサポートするプロバイダーで使用できます。このドキュメントのほとんどの例では、MicrosoftのマルチテナントのクラウドベースのディレクトリおよびID管理サービスである Azure ADを使用することを前提としています。

Owin.Authenticationは、Facebook、Google、Twitterなど、他のさまざまなプロバイダーをサポートしています。

フェデレーション認証は、スケーリングされた環境で機能します。

フェデレーション認証はフロントエンド ログイン (コンテンツ配信サーバー上) に使用でき、すべてのSitecore (バックエンド) 認証には常にSitecore Identityを使用することをお勧めします。

Sitecore 9.1.0以降はActive Directoryモジュールをサポートしていないため、代わりにフェデレーション認証を使用する必要があります。

Cookieとフェデレーション認証

Sitecore.Owin.Authenticationを使用しない場合、デフォルトの認証Cookie名は です。ASPXAUTH.これは、Web.configファイルで変更できます。

RequestResponse
<authentication mode="Forms">
    <forms name=".ASPXAUTH" cookieless="UseCookies" />
</authentication>

ただし、Sitecore.Owin.Authenticationを使用する場合、.ASPXAUTH Cookieは使用されません。したがって、このCookieをコードから直接使用しないでください。

Sitecore.Owin.AuthenticationはBaseAuthenticationManagerクラスをオーバーライドし、その下のFormsAuthenticationProviderクラスを使用しないため、AuthenticationManagerクラスを使用するコードで .ASPXAUTH認証Cookieが欠落しても問題になりません。

Owin認証モードを使用する場合、Sitecoreはデフォルトで2つの認証Cookieを使用します。

  • .AspNet.Cookies –ログインしたユーザーの認証Cookie

  • .AspNet.Cookies.Preview – プレビュー モードのユーザー向けの認証Cookie

これらのCookieを使用すると、ユーザーはエクスペリエンス エディターのプレビュー モードで異なるユーザーとしてログインおよびログアウトし、Sitecoreページを異なるアクセス権を持つ異なるユーザーとして表示できます。

Sitecoreコンストラクトの名前は、次のように構成されます。

  • ".AspNet." + AuthenticationType + AuthenticationSource.

    • AuthenticationTypeはデフォルトでCookiesされており、Owin.Authentication.DefaultAuthenticationType設定で変更できます。

    • デフォルトでは、AuthenticationSourceDefaultです。 Defaultされている場合、Cookieの名前には含まれません。このAuthenticationSourceでは、同じサイトに対して複数の認証Cookieを使用できます。

Owin Cookie認証ミドルウェアは、owin.initializeパイプラインで構成します。

仮想ユーザーと永続ユーザー

フェデレーション認証は、次の2種類のユーザーをサポートします。

  • 永続ユーザー – Sitecoreは永続ユーザーに関する情報 (ログイン名、メール アドレスなど) をデータベースに保存し、デフォルトでメンバーシップ プロバイダーを使用します。

  • 仮想ユーザー – これらのユーザーに関する情報はセッションに保存され、セッションが終了すると消えます。

Sitecoreが外部ユーザーを表す永続的なユーザーを作成する場合、いくつかの制限があります。サイトコアは、そのようなユーザーに対して以下の機能をサポートしていません。

  1. User Managerの外部ユーザーのロールの読み取りと削除 (これらのロールはSitecoreに保存されないため)。ロールは認証Cookieに格納されますが、coreデータベースのaspnet_UsersInRolesテーブルには格納されません。User Managerでロールをまったく表示することはできません。

  2. ロールの変換によってユーザーに割り当てられた権限は、Access Viewerでは表示されません。

  3. ユーザーパスワードの変更。対応するIDプロバイダーでパスワードを変更する必要があります。

何かフィードバックはありますか?

この記事を改善するための提案がある場合は、