2011-07-25 18 views
1

私はasp.net mvc with razorを使用しています。管理者専用のリンクを非表示にするにはどうすればよいですか?管理者を非表示にする

+0

誰かが管理者であるかどうかを判断していますか? –

答えて

1

あなたはあなたのビューモデルにboolean型プロパティを宣言することができます:

public class MyViewModel 
{ 
    public bool IsAdmin { get; set; } 

    ... some other model properties 
} 

とあなたの視野の内側:

@if (Model.IsAdmin) 
{ 
    <!-- show the link that only administrators are supposed to see --> 
    @Html.ActionLink("Do something very special", "Bar") 
} 

と、このビューをレンダリングするコントローラのアクション内部もちろん、あなたは、このビューモデルを投入するだろう:

[Authorize] 
public ActionResult Foo() 
{ 
    var model = new MyViewModel 
    { 
     IsAdmin = User.IsInRole("Admin") 
    }; 
    return View(model); 
} 

明らかに、管理者だけが行えるバーアクションnvokeもAuthorize属性で飾られている必要があります。

[Authorize(Roles = "Admin")] 
public ActionResult Bar() 
{ 
    ... 
} 
関連する問題