- У меня есть два пользователя: A и B, у A есть разрешение на доступ к моему Restful API, разработанный с помощью веб-API ASP.NET Core, B не имеет разрешения на доступ к этому ресурсу API (API вернет 403).
- В моем приложении Blazor Web Assembly есть страница, которая будет читать данные из этого Restful API, поэтому я бы хотел, чтобы, когда пользователь A входит в систему, он/она мог правильно получить доступ к этой странице, но когда B входит в систему, поскольку B не имеет доступа к API, поэтому, когда страница загружает и читает данные из API, на странице появляется ошибка 403, и вместо этого должно отображаться что-то вроде «У вас нет разрешения на доступ к странице»
/>
Код: Выделить всё
using var httpClient = HttpClientFactory.CreateClient("stickersHttpClient");
var httpResponseMessage = await httpClient.GetAsync($"api/stickers?page={pageNumber}&size={pageSize}");
httpResponseMessage.EnsureSuccessStatusCode();
var responseJson = await httpResponseMessage.Content.ReadAsStringAsync();
PageContent = JsonSerializer.Deserialize(responseJson);
[img]https://i.sstatic. net/0bOrA4BC.png[/img]
Я уже применил @attribute [Authorize] на странице, и в App.razor он имеет следующее авторизованные настройки просмотра:
Код: Выделить всё
@if (context.User.Identity?.IsAuthenticated != true)
{
}
else
{
You don't have permission to view this page.
}
Not found
Sorry, there's nothing at this address.
(Кстати, авторизация пользователя осуществляется через Keycloak с политикой, основанной на ролях пользователя)
Подробнее здесь: https://stackoverflow.com/questions/791 ... ing-api-in