170 похожих чатов

Ребзя, подскажите пожалуйста, что это за такой мидлварь Ownership .... if (req.user.id ===

req.params.user_id) {
return next()
}

Мб я что то не вдупляю? Каким образом это условие даёт нам проверку на ownership?

30 ответов

21 просмотр

Не даёт

Нужен весь код что бы ответить

Запрос не будет обработан, если параметр из запроса не совпадёт с текущим user id

Evgeniy- Автор вопроса

А если это в проекте express-gateway Мб там какая-то магия и автоматическая подстановка в сервисы params.user_id? Или автор просто сделал эту заглушку...

Evgeniy- Автор вопроса

Спс, кэп

А, вру, если это параметр в пути, по которому определяется ресурс у юзера, то норм

Evgeniy- Автор вопроса

Все равно не понимаю, как тут чекается, да и зачем вообще эта проверка, она же не от чего не спасает....

зависит от того что дальше происходит) приведите пример роута

Есть ресурс, принадлежащий юзеру Х. Запросы к этому ресурсу идут на /X/* Если к нему делает запрос не Х, тогда он не овнер

Evgeniy- Автор вопроса

Так params.user_id я могу подставить любой, это сделано только для разделения роутов что-ли.

Нет, если это параметр в маршруте, который определят, с чьим ресурсом ты работаешь

тут вопрос в том что зачем пихать свой же айдишник в маршрут, если ты знаешь юзера из req.user

Например, если все могут читать ресурс, но только автор менять

Evgeniy- Автор вопроса

Ну вот именно, зачем пихать в параметры, я же его итак знаю из auth....

Evgeniy- Автор вопроса

Если это Юзер ставит ставку только на себя / себе, то в параметрах не нужно пихать user_id

Потому что не только ты к своим ресурсам можешь обращаться

Evgeniy- Автор вопроса

Чтобы чекнуть овнер или админ обращается?

овнер или левый человек

Evgeniy- Автор вопроса

Так а левый итак не сможет, там же авторизация. Я так понял, что конкретно тут ставку может создать сам юзер и админ может создать для юзера. И для этого сделано

Evgeniy- Автор вопроса

Ну не мой проект, решил спросить. Мб я туплю) Доков нет

левый юзер

А если есть юзер, админ, директор, менеджер, менеджер средний, старший менеджер, админ по постам категории Х, админ по понедельникам? :D

ох ох ох)) я имел ввиду если там 1 админ с одной админкой сидит) а так да, конечно)

Evgeniy- Автор вопроса
Evgeniy- Автор вопроса

Я просто обычно использую req.user.id, но теперь понимаю, зачем тут params.user_id - это достаточно гибко.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта