Задать вопрос

Как проверить соответствие политике авторизации на стороне предстваления?

В приложении ASP.NET CORE определены политики доступа на основе Claims:
builder.Services.AddAuthorization(o =>
{
	o.AddPolicy("APP1", x => x.RequireClaim("ROLE_APP1"));
	o.AddPolicy("APP1_ADMINS", x => x.RequireClaim("ROLE_APP1", "admin"));
	o.AddPolicy("APP1_USERS", x => x.RequireClaim("ROLE_APP1", "user"));
});


Соответственно на контроллере я могу использовать атрибуты для ограничения доступа:
[Authorize(Policy = "APP1_ADMINS")]
public IActionResult Index()
{
	return View();
}


Есть ли возможность использовать эти же политики авторизации непосредственно в представлении или в просто в коде метода (не на уровне атрибутов)?
Например, я хочу формировать навигацию персонализированную согласно правам доступа текущего пользователя... Как выполнить проверку в коде?
<ul class="nav">
	<li><a href="~/">Home</a></li>
	@if(User...) {
		<li><a href="~/edit">Edit</a></li>
	}
</ul>
  • Вопрос задан
  • 48 просмотров
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы