Я видел некоторые подобные вопросы, но ни один из них не похож на то, что я пытаюсь сделать.
Это моя текущая реализация без какой-либо защиты:
<div id="menucontainer">
<ul id="menu">
<li><%= Html.ActionLink("Main List", "Index", "AController")%></li>
<li><%= Html.ActionLink("Product List", "Index", "BController")%></li>
<li><%= Html.ActionLink("Company List", "Index", "CController")%></li>
<li><%= Html.ActionLink("User List", "Index", "DController")%></li>
</ul>
</div>
Это прекрасно, и все это работает. У меня есть [Авторизовать] настройку атрибутов в Actions for CController и DController для предотвращения несанкционированного доступа - но я хотел бы удалить эти элементы из меню для пользователей, у которых нет правильной роли, потому что когда они видят это и нажимают на нем, и он говорит им, что у них нет разрешения, они этого захотят. Если они этого не знают, это лучше для всех участников...
Что-то вроде этого в конечном итоге является целью, к которой я пытаюсь добраться, но я ищу более привлекательный MVC-апробак, где "вид" "тупой":
<div id="menucontainer">
<ul id="menu">
<li><%= Html.ActionLink("Main List", "Index", "AController")%></li>
<li><%= Html.ActionLink("Product List", "Index", "BController")%></li>
<% If(Role = Roles.Admin) { %>
<li><%= Html.ActionLink("Company List", "Index", "CController")%></li>
<li><%= Html.ActionLink("User List", "Index", "DController")%></li>
<% } %>
</ul>
</div>