これが正しい方法かどうかはわかりませんが、これでうまくいく可能性があります。
ソリューション1
boolean
ユーザーが特定のロールに属しているかどうかを確認し、そのモデルに基づいてビューを作成するために、モデルに を含めることができます。
public class MyViewWithCustomAuthentication
{
....
public bool IsAdmin{get;set;}
...
}
コントローラーで、ユーザーが特定の役割にあるかどうかを確認できます
public ActionResult Index()
{
var myView = new MyViewWithCustomAuthentication();
myview.IsAdmin = false;
if(User.IsInRole("Admin"))
{
myView.IsAdmin = true;
}
return View(myView);
}
その後、視野に入る
@model MyViewWithCustomAuthentication
....
@if(Model.IsAdmin == true)
{
//show HTML
}
else
{
//hide HTML
}
....
ここには 1 つのビューがありますが、前述のように、ビューモデルに小さな変更を加える必要がある場合があります。
解決策 2
別の方法として、ユーザーが特定のロールに属しているかどうかを確認し、要件に基づいてロールごとに異なるビューを作成することもできます。このようにして、目的の HTML を表示できますが、最終的には異なるビューが表示されます。
public ActionResult Index()
{
if(User.IsInRole("Admin"))
{
return View("ViewForAdmin")
}
return View("ViewForNonAdmin");
}
誰か提案があれば、自由に編集またはコメントしてください。