hotfixをインストールすると、手動で外部ユーザーに追加されたロールが削除されログインできなくなる


概要

Hotfixのインストール後に、外部ユーザーのロールがデータベースから削除され、Azure Active Directory(AD)を使用してログインできなくなる場合があります。
この問題は、それらのロールが手動で追加されていた場合にのみ発生します。

解決策

解決策として、以下を実施してください。

  1. Sitecore.Owin.Authentication.IdentityServer.configファイル(\App_Config\Sitecore\Owin.Authentication.IdentityServer\Sitecore.Owin.Authentication.IdentityServer.config)を探します。
  2. SitecoreIdentityServerノード(または貴社のカスタムIdentity Provider)にclearroleswhensigninパラメータを追加し、その値をfalseに設定します。
    <identityProviders>
            <identityProvider id="SitecoreIdentityServer" type="Sitecore.Owin.Authentication.IdentityServer.IdentityServerProvider, Sitecore.Owin.Authentication.IdentityServer" resolve="true">
              <caption>Go to login</caption>
              <domain>sitecore</domain>
              <enabled>true</enabled>
              <triggerExternalSignOut>true</triggerExternalSignOut>
              <clearroleswhensignin>false</clearroleswhensignin>
              <transformations hint="list:AddTransformation">
    :「clearroleswhensignin」が「true」に設定されていると、Sitecoreはロールをデータベースにセーブし、以降のログイン施行のたびにそれらを上書きします。
    「clearroleswhensignin」が「false」に設定されている場合、要求変換(クレーム変換)に由来するロールは認証クッキーにのみ保存されます。