Вы можете объявить логическое свойство для вашей модели представления:
public class MyViewModel
{
public bool IsAdmin { get; set; }
... some other model properties
}
и внутри вашего взгляда:
@if (Model.IsAdmin)
{
<!-- show the link that only administrators are supposed to see -->
@Html.ActionLink("Do something very special", "Bar")
}
и, конечно, внутри действия контроллера, отображающего это представление, вы бы заполнили эту модель представления:
[Authorize]
public ActionResult Foo()
{
var model = new MyViewModel
{
IsAdmin = User.IsInRole("Admin")
};
return View(model);
}
Очевидно, что действие Bar, которое могут вызывать только администраторы, должно быть также снабжено атрибутом Authorize
:
[Authorize(Roles = "Admin")]
public ActionResult Bar()
{
...
}