私はいくつかの異なる役割があります:管理者、一般ユーザーなど、などセキュリティ私のMVCアプリケーションで
私は承認属性を経由して私のコントローラにセキュリティを適用することができることを知っている:
を[Authorize(Roles="Admin")]
public ActionResult Create()
{
return View();
}
しかし、私はまた、特定の役割にビューの特定のセクションを表示しないようにビューにいくつかのセキュリティを適用する必要があります。
@if(User.IsInRole("Admin"))
{
@Html.ActionLink("Create", "Create")
}
が、それはそれを上記の方法を行う、またはsecuriのこの種を処理するために、より良いですViewModel内のty:
public ActionResult Index()
{
var model = new IndexViewModel();
model.CanCreate = User.IsInRole("Admin");
return View(model);
}
View:
@(Model.CanCreate)
{
@Html.ActionLink("Create", "Create")
}
2番目の方法は、最初の方法と比較して利点がありますか?あなたは一人で第二1が安全ではないことを...
注両方が必要になる場合があり
:あなたのアクションメソッドのように飾るだろう
:
これは、フィルタがどのように見えるかです。 – Birey