Статическое веб-приложение защищает маршруты с помощью ролей, когда в маршрутах есть параметры
Я создал реагирующее приложение (Azure SWA), мой API связан с моим веб-приложением, и я защищаю маршруты с помощью ролей (все работает хорошо):
{
"route": "/api/product",
"allowedRoles": ["admin", "nonadmin"]
},
{
"route": "/api/product/*/delete",
"allowedRoles": ["admin"]
},
Я хочу, чтобы только роль администратора могла вызывать конечную точку удаления, но существует руководство, идентифицирующее продукт, и этот маршрут не работает, когда я это делаю, поскольку подстановочные знаки поддерживаются только на концах маршрутов:
Подстановочные знаки Майкрософт
Наверняка есть способ сделать это? поскольку параметры URL очень распространены, я могу найти какой-либо материал о том, как это достигается.
1 ответ
Вместо /delete я бы приписал этому методу глагол DELETE, который вы можете сделать
{
"route": "/api/profile*",
"methods": ["DELETE"],
"allowedRoles": ["admin"]
},
Кроме того, использование команды HTTP больше соответствует принципам RESTful.
РЕДАКТИРОВАТЬ 13 ноября 2023 г.
Я только что подтвердил группе продуктов, что это не поддерживается. Шаблоны подстановочных знаков работают только в конце пути.