2017-02-15 7 views
1

私はasp.net 2.0 webformsから来ました。ここでは、Web.sitemapでメニューを定義するだけで、すべてのトリミングが気になりません。セキュリティトリミングを使用したアプリケーションメニュー

この一見簡単なタスクのためにasp.net-core-mvcに同等の機能はありますか?

+0

あなたはそれ用のカスタムTagHelperを作成することができます。 –

+0

Sirwan ...私はこれを理解していない...これに関するすべてのサイト/サンプル? –

答えて

0

あなたはこのタグヘルパー内でユーザーがapporperiate役割であるか否かを確認することができ、そのためのカスタムTagHelperを作成することができます

public class SecurityTrimmingTagHelper : TagHelper 
{ 
    [ViewContext] 
    public ViewContext Context { get; set; } 

    public override void Process(TagHelperContext context, TagHelperOutput output) 
    { 
     output.TagName = null; 

     if (!Context.HttpContext.User.Identity.IsAuthenticated) 
     { 
      output.SuppressOutput(); 
     } 

     if (Context.HttpContext.User.IsInRole("Admin")) 
     { 
      return; 
     } 

     output.SuppressOutput(); 
    } 
} 
+0

こんにちはSirwan ...私はメニューを含むビューでこれを置くのですか?私はmvcを初めて使っています... –

+0

@KMFongこのカスタムタグの中にメニューのマークアップを入れるべきです: 'このコンテンツは現在のユーザ権限に基づいてレンダリングされます ' –

関連する問題