@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>
ユーザーが管理者として認証されているが、この種のチェックがうまく行かない場合はレイアウトします。自分の名前ではなくユーザーの役割を確認する必要があります。ここで剃刀ページのログインユーザーロールを確認する
はのcontroler方法
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();
}
である私も、私はそのuser
のいずれかを使用するようにする方法を知らないのでreturn View(user)
は、良くないことがわかります。
'@if(Request.IsAuthenticated && User.IsInRole(" administrator "))' – codingbiz