Nella mia applicazione MVC Ho un paio di ruoli diversi: Admin, utente generale, ecc, eccSicurezza in MVC Visualizzazioni
So che posso applicare la protezione ai miei controllori tramite l'attributo Autorizza:
[Authorize(Roles="Admin")]
public ActionResult Create()
{
return View();
}
Ma ho anche bisogno di applicare una certa sicurezza agli Visualizzazioni per non visualizzare alcune sezioni della vista per certi ruoli:
@if(User.IsInRole("Admin"))
{
@Html.ActionLink("Create", "Create")
}
è meglio farlo nel modo di cui sopra, o gestire questo tipo di SECURI Ty in una ViewModel:
public ActionResult Index()
{
var model = new IndexViewModel();
model.CanCreate = User.IsInRole("Admin");
return View(model);
}
View:
@(Model.CanCreate)
{
@Html.ActionLink("Create", "Create")
}
Ha il secondo metodo hanno alcun beneficio rispetto al primo o è solo una cosa preferenza?
penso primo metodo è migliore. – Birey