Меню приложения с настройкой безопасности
Я пришел с веб-форм asp.net 2.0; где я просто определяю свое меню в Web.sitemap со всей обработкой.
Есть ли в asp.net-core-mvc аналогичная функция для этой, казалось бы, простой задачи?
1 ответ
Вы можете создать собственный 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();
}
}