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

Всем привет Изучаю Nest.js , возникли вопросы)) В архитектуре nest есть такие

элементы как Guard, как я понял, официальная документация говорит что эти элементы нужны чтобы предоставлять доступ или ограничивать его, например возвращая булевое значение, проще говоря - авторизация.
Вопрос в чем, а нафига он нужен? Если с этим прекрасно справляется Middleware.
Основное отличие которое афиширует в доке - это то что Guard знает что будет дальше, он знает какой хендлер будет выполняться при положительном результате.

Тогда зачем нужно это знать? Просто интересно ваше мнение

23 ответов

9 просмотров

Для того, чтобы логика предоставления доступа была в одном месте, предоставляя для этого удобный интерфейс

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

https://youtu.be/RS8x73z4csI?si=KLZVUM_XvSTu1muA

Chamion- Автор вопроса
Алексей Попов
https://youtu.be/RS8x73z4csI?si=KLZVUM_XvSTu1muA

? Там будет мнение уважаемого Тимура по поводу того что Дефендер это оверинденеринг

Chamion
? Там будет мнение уважаемого Тимура по поводу тог...

Что такое дефендер? Там мнение про вред миддлварь. Которое в том числе отвечает на твой вопрос

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

ну я гварды использую только из-за декораторов

Middleware глобальная и исполняется на каждый запрос. Это декоратор который исполняется только на нужный контроллер

Chamion- Автор вопроса
Sergey 🧻🤲
Middleware глобальная и исполняется на каждый запр...

Middleware можно сделать не только глобально

Chamion
Middleware можно сделать не только глобально

Да по сути это все мидлвари с разным порядком срабатывания. Смысл просто в привычном подключении и унифицированном синтаксисе, чтобы не было соплей из мидлварей как в експрессе

Chamion- Автор вопроса
Sergey 🧻🤲
Нельзя

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

Разница в том что гард из под коробки удобно настроен как миддлвара для разграничения доступа, да и все

Бросает 403 ошибку на возвращаемый false, имплементирован определений интерфейс

Chamion
screenshot Ну вот тут в примере не глобально установили, а дл...

тебе правда удобнее конфигурировать вот так какие-то отдельные роуты и потом при разработке шариться искать где и какие миддлвары ты накрутил чем поставить гарду на конкретную роуту в конкретном контроллере чтоб она еще и перед глазами постоянно была когда в след раз сюда залезешь?

Скорее всего тебе ответили, но я внесу свои 5 копеек) по сути ты прав, нест очень сильно вдохновлён спрингом и ангуляром и гвард в спринге работает точно так же как в несте за исключением того, что там нет мидлваров как таковых, в ангуляре они тоже защищают роуты, но только на клиенте(переходы на разные странички) по сути это более удобные способ использовать мидлвару

Chamion
screenshot Ну вот тут в примере не глобально установили, а дл...

Открой страницу где ты взял этот код и прочти что написано первой строкой Middleware is a function which is called before the route handler

Sergey 🧻🤲
Открой страницу где ты взял этот код и прочти что ...

Причем тут то, что мидлварь нельзя накинуть не на все роуты?

..
Причем тут то, что мидлварь нельзя накинуть не на ...

При том что мидлварь остаётся глобальной и это замедляет код

Sergey 🧻🤲
При том что мидлварь остаётся глобальной и это зам...

А с чего ты взял, что она остаётся глобальной?

Sergey 🧻🤲
https://t.me/nodejs_ru/1144453

Где тут хоть слово про глобальность?

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
8
Всем здравствуйте!) У меня такой вопрос. Есть два роута, роут1 и роут2. Они связаны с очередью some_queue. По задаче предполагается, что есть два паблиша. Паблиш1 отправляет...
Format
10
Добрый день! Хочу спросить совета. Хочется в скрипт добавить некую конструкцию, что скрипт создал файл, который нужно потом скопировать в определенное место. Нашел такой сп...
Mikhail
4
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Вопрос по WIN32: Насколько я понимаю то все функции win32 привязаны к объектам операционной системы. Например консоль, файл, кисть, окна итд. Следовательно функции win32 упра...
Tommy Vercetti
6
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
in telegram can i have multiple username? so instead of having multiple account for example one for work, one for friend and one for family with three diff numbers. using one ...
Mr Thieves
6
Карта сайта