Trong ứng dụng MVC của tôi, tôi có một vài vai trò khác nhau: quản trị, Tổng giám dùng, vv, vvan MVC xem
Tôi biết rằng tôi có thể áp dụng bảo mật để điều khiển của tôi qua các thuộc tính Authorize:
[Authorize(Roles="Admin")]
public ActionResult Create()
{
return View();
}
Nhưng tôi cũng cần phải áp dụng một số an ninh để Views để không hiển thị phần nhất định của Xem các vai trò nhất định:
@if(User.IsInRole("Admin"))
{
@Html.ActionLink("Create", "Create")
}
là nó tốt hơn để làm điều đó theo cách trên, hoặc xử lý này loại securi ty trong ViewModel:
public ActionResult Index()
{
var model = new IndexViewModel();
model.CanCreate = User.IsInRole("Admin");
return View(model);
}
View:
@(Model.CanCreate)
{
@Html.ActionLink("Create", "Create")
}
Phương pháp thứ hai có bất kỳ lợi ích nào so với thứ nhất hoặc chỉ là một điều ưu tiên?
Tôi nghĩ rằng phương pháp đầu tiên là tốt hơn. – Birey