2015-06-11 6 views
0

У меня есть пользователь, который является Редактором страниц. Я не хочу, чтобы этот пользователь просматривал Редактор содержимого. Он перейдет непосредственно в Редактор страниц/Режим предварительного просмотра.Sitecore: настройка культуры/целевой страницы по умолчанию для редактора страниц

Я хочу, чтобы этот пользователь приземлился на странице http: /// en-ca.

Несмотря на то, что этот пользовательский контекстный язык по умолчанию установлен на английский язык Канада, пользователь приземляется на английскую страницу по умолчанию на английском языке, хотя у него нет доступа к этой странице.

Если этот пользователь просматривает редактор содержимого, он правильно устанавливает свою культуру, и они могут видеть только en-CAN и fr-CAN, как исключено.

Вот чужая вещь. Если пользователь переходит к http: /// en-ca, а затем выходит из системы и возвращается в систему, он возвращается непосредственно в http: /// en-ca, даже если мы очистим файлы cookie и кеш браузера. Это означает, что sitecore хранит последнюю страницу входа или что-то в этом роде. Это верно?

Мы используем 7.5

enter image description here

+0

Чтобы подтвердить, что пользователь регистрируется в Sitecore и автоматически перенаправляется на просмотр редактора страниц en-us? –

+0

Они должны выбрать Редактор страницы в параметрах, но если все сделано, они попадают на http: // сайт no en в конце URL-адреса. Но наш по умолчанию en-us – Mike

ответ

1

Так на основе нескольких ресурсов, которые необходимо ограничить доступ пользователей языков они не должны.

Чтобы ограничить использование языков, которые можно просмотреть, используйте редактор безопасности, чтобы запретить доступ к языковым элементам в разделе/​​Система/Языки, например, с любым другим элементом Sitecore.

Это должно помешать пользователю получить доступ к этому языковому сайту по умолчанию.

Для того, чтобы перейти на правильную языковую версию домашней страницы, вам необходимо создать собственный процессор LanguageResolver, поскольку Sitecore, похоже, не делает сам. См. Эту ссылку, как это сделать - http://www.newguid.net/sitecore/2012/adding-ip-lookup-to-language-resolving/

В вашем новом процессоре вам нужно будет проверить Sitecore.Context.PageMode, чтобы узнать, используется ли редактор или предварительный просмотр.

Затем вы хотите установить Sitecore.Context.Language на язык, который пользователь в контексте выбрал в поле «Свойство по умолчанию» своего профиля.

+0

Я пробовал это, и пока он ограничивал их выбор на вкладке «Ribbon Experience», пользователь по-прежнему приземляется на странице по умолчанию. Они не могут редактировать страницу по умолчанию, которая хороша, но они все еще приземляются на этой странице при первом входе в систему. – Mike

+0

Я добавил к своему ответу –

+0

Спасибо за ваши исследования. Мне нужно будет изучить это, просто очень расстроено, что это не из-за особенностей, и что пользователь может видеть сайт, на котором у него даже нет доступ к. – Mike

0

Одна вещь, которую вы можете попробовать, - установить контроль доступа к этому пользователю на основе языка, к которому у него есть доступ.

Например, вы можете удалить доступ к каждой кнопке, кроме «Режим предварительного просмотра» на ленте, и удалить весь доступ к каждому языку, кроме «en-ca».

Если пользователь не имеет доступа к элементу на определенном языке, sitecore перенаправляет пользователя на страницу входа в режим предварительного просмотра.

Надеюсь, это поможет.

Смежные вопросы