Asp.net core 应用程序菜单与安全修剪

Asp.net core 应用程序菜单与安全修剪,asp.net-core,asp.net-core-mvc,Asp.net Core,Asp.net Core Mvc,我来自asp.NET2.0WebForms;在这里,我只需在Web.sitemap中定义我的菜单,所有的修剪都已完成 对于这个看似简单的任务,asp.net-core-mvc中是否有任何等效功能?您可以为它创建一个自定义标记帮助程序,在此标记帮助程序中,您可以检查用户是否处于apporperiate角色: public class SecurityTrimmingTagHelper : TagHelper { [ViewContext] public ViewContext Co

我来自asp.NET2.0WebForms;在这里,我只需在Web.sitemap中定义我的菜单,所有的修剪都已完成


对于这个看似简单的任务,asp.net-core-mvc中是否有任何等效功能?

您可以为它创建一个自定义标记帮助程序,在此标记帮助程序中,您可以检查用户是否处于apporperiate角色:

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();
    }
}

你可以为它创建一个自定义TagHelper。Sirwan…我不明白这一点。这上面有任何站点/示例吗?嗨,Sirwan…我是否将它放在包含菜单的视图中?我是mvc新手…@KMFong您应该将菜单的标记放在此自定义标记内,例如:
此内容将根据当前用户权限呈现