На моем сайте Sitecore мне нужна страница, доступная только для авторизованных пользователей.Я разрешил чтение и наследование для роли, которую я хочу, и запретил чтение и наследование для экстрасети \ анонимный.Элемент является частью группы, где другие элементы не защищены.Этот список элементов связан с данными и отображается в виде навигационных ссылок на сайте.
var id = new Sitecore.Data.ID("<guid here>");
var item = Sitecore.Context.Database.GetItem(id);
// protected item is not part of Children collection when user is anon.
this.navrepeater.DataSource = item.Children;
this.navrepeater.DataBind();
Когда я вошел в систему, отображается ссылка на защищенный элемент, и я могу просмотреть страницу.Когда я не вошел в систему (работает как экстрасеть \ анонимно), ссылка вообще не отображается.Когда я иду URL напрямую, я получаю ошибку 403.В моем файле web.config я установил атрибут loginPage
на узле site
, но я не перенаправлен.
<site name="mysite" ... loginpage="/login.aspx" />
Итак,
Как отобразить ссылку на защищенную страницу для анонимных пользователей
Как заставить sitecore перенаправить пользователя на страницу входа при необходимости