Sitecoreでのフェデレーション認証の使用
このページの翻訳は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ファイルで変更できます。
<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設定で変更できます。
-
デフォルトでは、AuthenticationSourceはDefaultです。 Defaultされている場合、Cookieの名前には含まれません。このAuthenticationSourceでは、同じサイトに対して複数の認証Cookieを使用できます。
-
Owin Cookie認証ミドルウェアは、owin.initializeパイプラインで構成します。
仮想ユーザーと永続ユーザー
フェデレーション認証は、次の2種類のユーザーをサポートします。
-
永続ユーザー – Sitecoreは永続ユーザーに関する情報 (ログイン名、メール アドレスなど) をデータベースに保存し、デフォルトでメンバーシップ プロバイダーを使用します。
-
仮想ユーザー – これらのユーザーに関する情報はセッションに保存され、セッションが終了すると消えます。
Sitecoreが外部ユーザーを表す永続的なユーザーを作成する場合、いくつかの制限があります。サイトコアは、そのようなユーザーに対して以下の機能をサポートしていません。
-
User Managerの外部ユーザーのロールの読み取りと削除 (これらのロールはSitecoreに保存されないため)。ロールは認証Cookieに格納されますが、coreデータベースのaspnet_UsersInRolesテーブルには格納されません。User Managerでロールをまったく表示することはできません。
-
ロールの変換によってユーザーに割り当てられた権限は、Access Viewerでは表示されません。
-
ユーザーパスワードの変更。対応するIDプロバイダーでパスワードを変更する必要があります。