@if (Request.IsAuthenticated && User.Identity.Name=="administrator")
{
<div id="sidebar">
<div class="module">
<ul class="menu">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
</ul>
</div>
<div class="mainContent">
Hello, @User.Identity.Name !
</div>
</div>
これは、ユーザーが管理者として認証されている場合の私のレイアウトですが、この種のチェックはうまくいかないようです。ユーザーの名前ではなく、ユーザーの役割を確認する必要があります。
これがコントローラーメソッドです
public ActionResult AuthenticatedUserLayout(string username)
{
var lst=userContext.UserProfiles.ToList();
var user = lst.Select(u => u.UserName == username);
if(IsAdmin(Session["LoginUser"].ToString())) return View(user); else return Index();
}
また、return View(user)
それを利用する方法がわからないので、それは良くありませんuser
。