У меня есть часть страницы, которую я хочу отображать, только если пользователь, вошедший в систему, удовлетворяет одному из 3 следующих условий:
- Он - автор
- Он принадлежит роли Editors .
- Он принадлежит роли ' Admin '.
Объектная модель содержит свойство с именем AddedBy ( Model.AddedBy )
Как проверить все 3 условия на странице ASP.NET MVC.
Пока я пробовал код ниже
<%if((Page.User.Identity.Name == Model.AddedBy) ||
(Page.User.IsInRole("Admin")) ||
(Page.User.IsInRole("Editors"))){%>
//Display this portion of page...
<%}%>
Но мой код, похоже, не замечает разницы и продолжает отображать часть html, заключенную внутри кода выше.
Должно быть, я где-то ошибаюсь.
EDIT
HTML-часть, заключенная в коде, содержит такие кнопки, как Удалить статью, Изменить статью, Добавить статью, Разрешить комментарии , ... Таким образом, только автор статьи должен видеть эти кнопки или проверять коробки. За исключением пользователей в роли «Редакторы» или «Администратор» могут также управлять статьями, которые им не принадлежат.
Таким образом, пользователь, получающий доступ к странице, может видеть эту часть, если он (i) автор ИЛИ (ii) принадлежит к роли Редакторы ИЛИ (iii) к Роль администратора .
Спасибо за помощь