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

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

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

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

30 ответов

14 просмотров

Не даёт

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

Запрос не будет обработан, если параметр из запроса не совпадёт с текущим 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 - это достаточно гибко.

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

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

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Карта сайта