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

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

В приложении 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 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия C#-разработчик
    12 месяцев
    Далее
  • Merion Academy
    C# разработчик с нуля
    4 месяца
    Далее
  • Stepik
    PRO C#. Профессия "Backend разработчик"
    4 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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