Я не знаю, существует ли встроенная зависимость между ролями и страницами, поэтому вы получаете роли для страницы, но рассмотрите возможность установки определенных ролей, которые вам нужны, например Pro, Free, Ежемесячная подписка...
Для каждой роли вы можете показывать/скрывать определенный контент, а для получения всех ролей в вашей базе данных используйте GetAllRoles.
Затем прокрутите роли и проверьте, является ли зарегистрированный пользователь участником или нет, чтобы предоставить ему право доступа.
После вашего второго комментария я просмотрел демонстрацию Umbraco V8, в которой я применил следующее, что я предлагаю вам:
Создать группы А и Б
Создать участников A и B
Создать форму входа и выхода
Создайте 3 шаблона Master, Login и Page
Создайте 3 типа документов Мастер, Логин и Страница
Создайте один родительский контент, т.е. домашнюю страницу
Создайте три дочерних содержимого, т.е. Логин, A и B
Показать пункт меню навигации A для членов группы A
Показать пункт меню навигации B для членов группы B
Запретить доступ к странице А для незарегистрированных пользователей
Запретить доступ к странице B для незарегистрированных участников
Предварительный просмотр:
Код, используемый в пунктах 8 и 9:
@{
var isMemberofB = false;
var isMemberofA = false;
}
@{
var myUser = System.Web.Security.Membership.GetUser();
if (myUser != null)
{
<p class="ui red sub header">
<i class="user icon"></i>
you're logged in as @myUser.UserName
@{
isMemberofB = System.Web.Security.Roles.IsUserInRole(myUser.UserName, "B");
if (isMemberofB)
{
<p class="ui green sub header">
<i class="user icon"></i>
you're a member of role B
</p>
}
else
{
isMemberofA = System.Web.Security.Roles.IsUserInRole(myUser.UserName, "A");
if (isMemberofA)
{
<p class="ui green sub header">
<i class="user icon"></i>
you're a member of role A
</p>
}
}
}
@*This example shows how to use lazy loaded images, a sticky menu, and a simple text container*@
</p>
}
}
<a href="#" class="ui right floated dropdown item">
Dropdown <i class="dropdown icon"></i>
<div class="menu">
@if (isMemberofA)
{
<div class="item">Link To Page A</div>
}
@if (isMemberofB)
{
<div class="item">Link To Page B</div>
}
<div class="divider"></div>
<div class="header">Header Item</div>
<div class="item">
<i class="dropdown icon"></i>
Sub Menu
<div class="menu">
<div class="item">Link Item</div>
<div class="item">Link Item</div>
</div>
</div>
<div class="item">Link Item</div>
</div>
</a>
person
Abuabdellah
schedule
26.07.2019