Sitecore и Identity Server 3 - для аутентифицированных пользователей отсутствуют роли
Я пытаюсь интегрировать федеративную аутентификацию / единый вход в Sitecore с помощью Identity Server 3. Обратите внимание, что я никоим образом не использую Azure Active Directory.
Я следил за этими страницами: http://blog.baslijten.com/enable-federated-authentication-and-configure-auth0-as-an-identity-provider-in-sitecore-9-0/
а также
https://dhalgara.com/2018/05/01/sitecore-9-integrating-azure-ad-along-with-identity-server-3/
Я полагаю, что я близко, так как я могу настроить отображение кнопки входа в систему, которая уводит меня на Identity Server для аутентификации. Затем я ввожу имя пользователя / пароль, а затем он правильно аутентифицирует и перенаправляет меня обратно на страницу входа в Sitecore со следующей ошибкой:
У вас нет доступа к системе. Если вы считаете, что это неправильно, обратитесь к системному администратору.
Я подтвердил, что я аутентифицируюсь и что когда я захожу на экран управления пользователями в Sitecore, я нахожу некоторых пользователей со смешными именами, которые должны были быть созданы в процессе регистрации, о котором я упоминал. Они также не являются частью каких-либо ролей, поэтому я подозреваю, что не могу войти.
Почти все сайты упоминают, что настройка этого блока XML является ключевой:
<transformation type="Sitecore.Owin.Authentication.Services.DefaultTransformation, Sitecore.Owin.Authentication">
<sources hint="raw:AddSource">
<claim name="x" value="y" />
</sources>
<targets hint="raw:AddTarget">
<claim name="something here" value="Sitecore\Developer" />
</targets>
<keepSource>true</keepSource>
</transformation>
Но что это на самом деле означает? Я проверил свой JWT, и у меня нет никаких претензий, таких как "Роли" или " http://schemas.microsoft.com/ws/2008/06/identity/claims/role ", но это даже необходимо для назначить роль разработчика моему пользователю? Что должно быть в значениях X/Y, приведенных выше, и какое должно быть значение "что-то здесь", чтобы мой пользователь получил роль Sitecore\Developer (или какую-либо другую роль, которую я хочу)?
Как я могу гарантировать, что, когда мой пользователь войдет в систему, я смогу разместить его как часть определенной группы?
Спасибо за помощь.
0 ответов
Если вы получаете сообщение об ошибке ниже, это означает, что в конфигурации приложения на Identity Server что-то не так, проверьте конфигурацию, это может быть URL-адрес перенаправления или имя узла сайта.
You do not have access to the system. If you think this is wrong, please contact the system administrator.
РЕКОМЕНДУЕТСЯ. Пересмотрите конфигурацию своего приложения в Identity Server / Azure AD.
Блок, который вы упомянули, предназначен для установки прав Role для пользователя. Приведенная ниже конфигурация позволит вам установить требования по умолчанию для роли Sitecore / Developer.
<transformation name="Transform to Sitecore DEV Role" type="Sitecore.Owin.Authentication.Services.DefaultTransformation, Sitecore.Owin.Authentication">
<sources hint="raw:AddSource">
<claim name="groups" value="<GUID>" />
</sources>
<targets hint="raw:AddTarget">
<claim name=__"http://schemas.microsoft.com/ws/2008/06/identity/claims/role" value="Sitecore\Developer" />
<claim name="__http://schemas.microsoft.com/ws/2008/06/identity/claims/role" value="Sitecore\Author" />
<claim name="__http://schemas.microsoft.com/ws/2008/06/identity/claims/role" value="sitecore\Analytics Personalization" />
<claim name="__http://schemas.microsoft.com/ws/2008/06/identity/claims/role" value="sitecore\Analytics Maintaining" />
<claim name="__http://schemas.microsoft.com/ws/2008/06/identity/claims/role" value="sitecore\Forms Editor" />
</targets>
<keepSource>true</keepSource>
</transformation>
Если вы видите, что в Sitecore добавляются смешные имена, попробуйте решение, рекомендованное в сообществе Sitecore, по ссылке ниже.