В настоящее время я узнаю о клиентской стороне Blazor (WebAssembly) и, просматривая авторизацию, пытаюсь проверить, есть ли у пользователя доступ к пути в URI.
Учитывая URI, например http://localhost: 1234 / {route} / resource
На странице я могу сопоставить маршрут со свойством, но как я могу получить доступ к этому значению в AuthorizationHandler, чтобы проверить, что JWT имеет претензию с это значение?
Я пытался внедрить RouteData и пытался получить доступ к HttpContext через IHttpContextAccessor, но это ноль.
Это класс, который я пытаюсь заставить работать
public class RouteDataAccessor : IRouteDataAccessor
{
private readonly RouteData _routeData;
public RouteDataAccessor(IHttpContextAccessor httpContextAccessor)
{
httpContextAccessor.NullCheck(nameof(httpContextAccessor));
httpContextAccessor.HttpContext.NullCheck(nameof(httpContextAccessor.HttpContext));
_routeData = httpContextAccessor.HttpContext.GetRouteData();
}
public bool TryGetData(string key, out string value)
{
value = null;
if (_routeData == null || !_routeData.Values.TryGetValue(key, out value))
{
return false;
}
return true;
}
}