Я пишу веб-приложение, которое обслуживает пользователей с разными ролями и разрешениями. Одна из функций моего приложения требует вызова API к защищенной конечной точке. Если у пользователя нет правильных разрешений, конечная точка отвечает 403 Forbidden. В моем приложении неудачный вызов API не влияет на поведение внешнего интерфейса; ошибка восстанавливается так, как если бы ее никогда не было, за исключением неудачного запроса в инструментах разработчика браузера. Есть ли какая-то ценность в предотвращении вызова API в первую очередь путем проверки разрешений на стороне клиента и выполнения вызова API только в том случае, если существуют правильные разрешения?
Валидация на передней стороне (вводимых данных, а также учетных данных) связана с необходимостью дублировать логику валидации на передней и задней сторонах и поддерживать обе версии.
Такое дублирование следует делать только в том случае, если оно имеет явные преимущества, которые перевешивают затраты. Некоторые возможные преимущества могут быть следующими
Если пропускная способность не имеет значения и (обычный) конечный пользователь не заметит, что запрос привел к результату 4xx, то предварительная проверка успешности или неуспешности запроса приведет только к затратам без выгоды.