У меня такой же вопрос, как и введите описание ссылки здесь : если я хочу обновить объект (отправленный в теле PUT
), который содержит идентификатор, как я могу получить этот идентификатор в промежуточное программное обеспечение без отправки этого идентификатора в данных маршрута?
Пример: задан объект:
myObject= new MyObject
{
id = 1,
string "blah blah blah"
}
пользователь, у которого есть права на обновление MyObject
с id = 3
и у которого НЕТ ПРАВА ОБНОВЛЕНИЯ на MyObject
с id = 1
использует Почтальон для отправки PUT с маршрутом /api/values/3
и телом myObject
. Промежуточное программное обеспечение авторизации будет одурачено id = 3
и позволит пользователю изменить неправильный объект.
Конечно, я мог бы добавить в updateMethod проверку (if (myObjectId != myObject.id) ...
) или я мог бы удалить идентификатор из MyObject, но оба решения кажутся слишком большими усилиями для такого крайнего случая. Самый простой способ - это проверить действительные данные в промежуточном программном обеспечении.
Есть ли способ сделать это? Есть ли лучший подход, который я не рассматривал? спасибо!