En mi aplicación MVC tengo unos papeles diferentes: admin, usuario general, etc., etc.Seguridad en MVC Vistas
Sé que puedo aplicar seguridad a mis controladores a través del atributo Autorizar:
[Authorize(Roles="Admin")]
public ActionResult Create()
{
return View();
}
Pero también tengo que aplicar un poco de seguridad a las Vistas para no mostrar ciertas secciones de la vista a ciertos roles:
@if(User.IsInRole("Admin"))
{
@Html.ActionLink("Create", "Create")
}
¿es mejor hacerlo de la manera anterior, o manejar este tipo de securi ty en un modelo de vista:
public ActionResult Index()
{
var model = new IndexViewModel();
model.CanCreate = User.IsInRole("Admin");
return View(model);
}
View:
@(Model.CanCreate)
{
@Html.ActionLink("Create", "Create")
}
¿El segundo método tiene los beneficios en comparación con el primer o es sólo una cosa de preferencia?
Creo primer método es mejor. – Birey