Можно подключаться к этому телеграм-чату: t.me/+rFxdSCjJxdVjNWVi для обсуждения вопросов Java/Spring
Жүктеу.....
Пікірлер: 109
@Das.Kleine.Krokodil Жыл бұрын
00:00 Начало 01:30 Создали и минимально настроили проект 07:45 Configure: authorizeHttpRequests, antMatchers, anyRequest, formLogin,.. 17:55 Первый запуск. Логин под юзером созданным спрингом. 22:27 Логаут 24:42 Principal - позволяет узнать под кем зашел пользователь. 26:01 В каком контексте спринг хранит инфу о пользователе 31:09 Схема цепочки фильтров спринга 33:55 *In-Memory - хранение юзеров хардкодом* 38:37 Авторизация и переброс на страницу соответствующую юзеру 41:07 *jdbc - хранение юзеров в базе данных.* Создание юзеров в БД хардкодом. 45:23 Где именно в БД можно хранить юзеров. 52:38 Authority - это право доступа. Как спринг работает с этим. 01:01:30 *DAO Authentication - оперирование юзерами через сущности спринг.* DaoAuthenticationProvider. PasswordEncoder 01:09:20 UserService - сервис по предоставлению юзеров 01:13:12 UserDetails - содержит: имя, права, включен, просрочен 01:14:17 Преобразование Роли в Authority 01:16:30 Передаем UserService в DaoAuthenticationProvider 01:19:15 Фиксим баг ленивой загрузки из-за связи один ко многим 01:20:07 Как через Principal получить данные сущности User 01:22:24 Схема работы Spring security 01:32:05 Обсуждение прошлых вэбинаров в части Security 01:33:36 Краткое словесное описание схемы 01:34:02 Устройство JdbcUserDetailsManager 01:38:31 Демонстрация работы фильтров в отладчике 01:41:47 Просмотр цепочки фильтров при debug = true 01:44:36 Защита от CSRF - межсайтовой подделки запроса (Cross-site request forgery) 01:51:42 Ответы на вопросы
@ssssssy13272 жыл бұрын
Сделайте, пожалуйста, видео про REST и JWT. Очень понятно доносите информацию. Соглашусь, что это, наверное, самое лучшее видео по Spring Security на ютубе)
@SatUluBah3 жыл бұрын
Премного благодарствую... Посмотрел 1 раз - ПОЗНАКОМИЛСЯ, посмотрел 2 раз - ПОДРУЖИЛСЯ, посмотрел 3 раз - ВСЕ КАК РОДНОЕ))))
@GT-cv3xu2 жыл бұрын
Спасибо Вам за Вашу работу, мне очень помог этот материал!
@forit48613 жыл бұрын
Очень долго искал хороший материал по Spring Security и вот я его нашел огромное спасибо!!!!!!
@user-gv1ff3ex5y2 жыл бұрын
Это лучшее руководство по Spring Security. Спасибо!
@Devivl11 ай бұрын
Доброго дня! Случайно попал на Ваше видео. Александр, Вы безусловно потрясающе доносите информацию. Очень внимательно к деталям. Однозначно присоединяюсь к Вашему творчеству и буду смотреть остальные видео!
@alekseizhitenev60202 жыл бұрын
большое спасибо за подробное видео, очень помогает изучать, как это все работает!
@Alexander-pt1ye3 жыл бұрын
Спасибо за шикарный материал!
@user-lx4dc1ls3e Жыл бұрын
Очень хороший урок! Авторy огромная благодарность👍👍👍
@HinoRaita Жыл бұрын
спасибо большое за видео, очень помогло разложить всё по полочкам в голове.
@Krasnolesye2 жыл бұрын
Интересно было послушать. Спасибо большое и за "работу под капотом" - отдельное )) Молодца
@listopaddd Жыл бұрын
Очень понятное объяснение Spring Security. Большое спасибо!
@yaffisar4404 Жыл бұрын
не с первого раза, но понял, Отличная подача, спасибо вам!
@ildarjava79792 жыл бұрын
Подробно, четко и без воды.
@user-cc9wf1fn2z Жыл бұрын
Спасибо за объяснение Spring Security!
@shushanbalayan62673 жыл бұрын
спасибоооооо.. пожалуйта продолжаете))
@isko_vlog68363 жыл бұрын
Красавчики еще добавили исходник код спасибоо еще таких много видео ждем
@user-yv1yr7my7t2 ай бұрын
Отличное преподнесение информации, спасибо!!!
@user-jz8cp7jp4s Жыл бұрын
Спасибо огромное за видео, по настоящему понятно стало, до этого неделю сидел, смотрел видео другие пытался разобраться и все было магией. очень жду еще видео про спринг секьюрити и AUTH2.0 с использованием сторонних сервисов, если можно то с ВК апи, ибо про него совсем мало гайдов
@konstantinchvilyov9602 Жыл бұрын
Спасибо за объяснение загадочного устройства Spring Security!
@russianbrain36312 жыл бұрын
Отличное видео, спасибо 👍
@rustamgulyamov4091 Жыл бұрын
Большое спасибо!
@pavelminsk Жыл бұрын
Спасибо, очень круто!
@mihailan87113 жыл бұрын
Это самое идеальное объяснение Спринга из всех какие есть на KZread.
@b.g.5106
3 жыл бұрын
а как же гоша дударь ? 😆
@kuzd4niil
2 жыл бұрын
Есть ещë amigos code, но там английский
@valeriyemelyanov90903 жыл бұрын
Круто!!! Спасибо!!!
@lifeisanadventure89514 ай бұрын
Огромное спасибо!
@mathtime28122 жыл бұрын
Отличный видео-разбор Spring Security! Будет ли подобное видео по разбору OAuth2 аутентификации в классическом виде на каком-нибудь Provider-service, который не идет из коробки с Security или с использованием отдельно реализованного сервера аутентификации?
@johnathanjormungand3 жыл бұрын
Спасибо, что рассказываете, как оно всё работает внутри, да ещё и с картинками. Так некоторый хаос информационный в голове укладывается лучше. Кстати, привет Вам, с самого первого Вашего потока, по Java GB (lvl 3), из 2016г :)
@user-uz9mg5dl8g
2 жыл бұрын
Можешь ссылки скинуть на эти уроки!
@user-qt2hd2tf6n3 жыл бұрын
Божественно)
@sirdee394
3 жыл бұрын
Мммм веб разраб)
@olenaqwerty78952 жыл бұрын
супер!
@dusheslov27003 жыл бұрын
Саша это тебе команда поменять кодировку в SQL Shell \! chcp 1251 спасибо за урок большое!)
@FlameXander3 жыл бұрын
Ссылка на исходники: drive.google.com/file/d/1TgvfG5s5bSk9sedUfP8I7CCgO3F7-tyV/view?usp=sharing
@user-og3rt8xj1v
3 жыл бұрын
а можете еще sql.txt, из которого вставляли код для создания таблиц, дать?
@FlameXander
3 жыл бұрын
@@user-og3rt8xj1v можете вот по этой ссылке скачать исходники: drive.google.com/file/d/18gL8N2xsXSXLLjzcWOavoSqFc65P9fFk/view?usp=sharing . В этом варианте я разделил варианты настройки безопасности на 4 варианта: самый простой, in-memory, jdbc и dao. И каждый из этих вариантов включается через соответствующий профиль. В папках db/migration можно найти sql скрипты. В Main классе в комментариях написано как указать профиль
@user-og3rt8xj1v
3 жыл бұрын
@@FlameXander спасибо!
@evgeniysibirev39232 жыл бұрын
Спасибо за видео. Про хранение пользователей в контексте. Насколько я понял, можно все данные пользователя хранить в Principal, если имплементировать Userом интерфейс UserDetail. Тогда в базу можно каждый раз не лезть.
@user-ib7vx3yc4i4 ай бұрын
хорошая подача
@isko_vlog68363 жыл бұрын
ты проста брат пушка
@ivanfedin9094 Жыл бұрын
Спасибо за видео! Всё больше проясняется тонкостей. Подскажите пожалуйста, зачем инжектить зависимости через конструктор? Прекрасно же работает через поля. Это код стайл такой, или есть более глубокий смысл?
@nexnzxff2 жыл бұрын
А есть в планах Spring Boot + JWT + React? Совсем нет информации на русском :)
@belarus_by20892 жыл бұрын
super!
@dimasamsonau36463 жыл бұрын
оч круто, спасибо!) А можно где-то посмотреть видео с сентября, декабря? там про интернет-магазин или что-то мелькало.. большой такой проект, интересно было бы посмотреть, спасибо!)
@user-mf2mw4ff5j2 жыл бұрын
Очень крутое видео , спасибо большое ! Вопрос 1, когда допустим UserDetail нашёл юзера в базе, DaoProvider сверил имя и пароль и если все ок обратно по цепочке возвращается токен в котором UserDetails и Authorities, а на каком этапе происходит проверка роли или прав для доступа к страницам, на том же где и сверка имени и пароля ?
@xz8928 Жыл бұрын
А можно где-то посмотреть исходный код магазина на спринге ,про который упоминали в видео ?
@nursboot11863 жыл бұрын
Ждем JWT auththentication
@andriymr.x81753 жыл бұрын
Супер! Коли буде наступне відео про Spring Security ?
@samirahm4dov5 ай бұрын
👍
@dusheslov27003 жыл бұрын
Александр можно ли как с вами связаться?
@mohen-tohen Жыл бұрын
поделитесь, пожалуйста, другими частями данного курса
@vladislavosipenkov1412 Жыл бұрын
Как попасть к вам в группу чтобы посмотреть про магазин на спринге и прочее? (oauth, jwt)
@user-qq9ci6ol7x7 ай бұрын
Отлично видео, спасибо. После 3-хкратного просмотра становится понятнее)
@oleksa537 Жыл бұрын
отличный урок. Я просто удивляюсь, каким образом это все можно узнать из документации? Я просто пытался изучить документацию, но даже близко всего этого не понял, хотя все дают совет изучить фрейсворки по документации. Как это правильно делать? Где в документации описано все это? Поделитесь советом кто-нить.
@ogo0073 жыл бұрын
thank
@astracode79552 жыл бұрын
Отличный урок!!!! А на гите код не лежит?
@just_a_simple_man3 жыл бұрын
Материал настолько крутой, что я даже скачал себе видео)
@anthonystain4168
3 жыл бұрын
да, а то они могут передумать и удалить видео с ютюб)
@ladysoverschenstvo7875
3 жыл бұрын
А через какую программу вы скачиваете?
@user-nz8zq3gj1f
2 жыл бұрын
@@ladysoverschenstvo7875 savefrom сайт открой
@mohen-tohen Жыл бұрын
есть ли какое-то продолжение по спринг секьюрити с jwt?
@MaximBodrov Жыл бұрын
Спасибо! Очень доходчиво. Не совсем понятно, если пользователь авторизировался на сайте банка и теперь он со своим JSESSIONID ходит по всем страничкам банка, каким образом он случайно попадет на страничку злоумышленника???? Т.е. вариант вероятно такой, что уйдя со страницы банка и случайным образом нажав на левую ссылку, пользователь попадает на страничку очень похожую на страницу банка?? В таком случае как сервер злоумышленника перенаправит "плохой" запрос на сайт банка? JS-скрипт делает этот редирект? Если так, то в какой момент браузер клиента подставляет тот самый JSESSIONID, ведь при JS-редиректе не получится подставить валидный JSESSIONID
@DevPlayGame Жыл бұрын
А как без spring boot заиспользовать правильно security? Было бы видио по такой теме - совсем огонь был бы)
@markkraskovskii20512 жыл бұрын
Спасибо за хороший материал. Аннотацию @Autowired, необязательно писать над конструктором, спринг и без аннотации подхватывает bean
@davidjoker36192 жыл бұрын
А где хранятся csrf токены тогда? Не в куках?
@viptutorials Жыл бұрын
Здравствуйте, спасибо за видео. Как можно авторизоваться не по имени человека а по email? Просто могут быть люди с одинаковыми именами.
@FlameXander
Жыл бұрын
Вечер добрый, username это же имя пользователя в системе, в БД его надо делать уникальным и тогда два разных человека не смогут создать пользователей с одинаковый username'ом. Подвязать email можно в качестве логина пользователя, для этого в реализации UserDetailsService в имя (первый аргумент конструктора) org.springframework.security.core.userdetails.User кладете не user.getUsername(), а user.getEmail().
@viptutorials
Жыл бұрын
@@FlameXander Спасибо вам огромное, очень хорошо объясняете лайк с меня.
@mohen-tohen Жыл бұрын
это какой-то курс или что? где можно посмотреть всё остальное?
@demosinternet74552 жыл бұрын
Александр, дополню ваше объяснение по csrf токену и предложу улучшенный алгоритм. На страницу вставляем яваскрипт код который отсылает запрос в банк на получение формы оплаты. Сервер банка по живому джисэшн куки отдаёт форму с свежим csrf токеном, далее парсим полученное тело, вытаскиваем csrf и вставляем в свою фору, отправляем обратно в банк нужный пост
@alexgorodecky1661
4 ай бұрын
Да, не работает все это. Однако, CORS решает все эти проблемы, и по умолчанию он включен
@user-yf2er5vr8qАй бұрын
а есть где-то видео автора про интернет-магазин?
@Das.Kleine.Krokodil Жыл бұрын
в пайнте это мышью пишите или стилусом?
@maksymmatlo43273 жыл бұрын
Спасибо за туториал! Очень хорошее обьяснение! Получаю ошибку - Encoded password does not look like BCrypt А вот и решение - new BCryptPasswordEncoder().encode(password) - пароль нужно получать через этот энкодер
@rudolfsikorsky79003 жыл бұрын
А вот если максимально упростить? Допустим, нет разных ролей, все пользователи одинаковы. Можно обойтись без таблицы roles? Откуда тогда брать авторитиз? Там обязательно требуется коллекция, которую надо делать из коллекции ролей? Или есть какие-то по умолчанию? Я делал по образцу из другого видео и убрал роли из БД, а в коде их захардкодил, Но что-то ни хрена не вышло, всё время получаю 403, видимо что-то упустил :( Мне кажется, в объяснении надо идти от простого к сложному: - вот одинаковые пользователи и вот ресурсы, которые им доступны; - а теперь давайте разграничим им права, добавив роли. Так будет понятнее, КМК.
@serjpavlenko
2 жыл бұрын
вероятно, неправильно настроили authorizeRequests() в методе `public void configure(HttpSecurity http) throws Exception{...}`. На будущее, кидайте код, хотя бы через pastebin.com
@denfal555 Жыл бұрын
28:59 SecurityCintextHolder Pic
@user-uu4fr8nc7o10 ай бұрын
интересно а как через даопровайдер юзеров создавать с ролями и паролем и именем, без jdbc
@jurii45554 ай бұрын
хтось може сказати як долучитися до телеграм чату і де є проект веб магазину на спрінгу
@pavelkhmialinka66023 жыл бұрын
+
@JMunkush Жыл бұрын
Каждый раз когда я пишу код : 50:25
@konstantinchvilyov9602 Жыл бұрын
Спасибо. Не встречал лучшего объяснения. Было бы ещё понятнее при переводе английских названий на русский язык. Поскольку каждое английское слово может иметь несколько разных значений. Без этого получается абстрактное(отвлечённое) представление о понятиях и устройстве. Поскольку для большинства слушателей "Принципал с авторитис" звучит как "Штука с фиговинами".
@oleksa537
Жыл бұрын
как можно изучать программирования без элементарных знаний английского? В таком случае для таких слушателей и "Стринг и интежер" звучит как "стринги с инжиром".
@konstantinchvilyov9602
Жыл бұрын
@@oleksa537 String и Integer - базовые понятия языка Java. И большинство программистов понимают их смысл, даже если не знают перевода на русский язык. Principal и Authotities встречаются значительно реже. И я думаю, что большинство программистов на момент слушания этого доклада не знали как они переводятся на русский. А из тех что знали, многие не могли однозначно выбрать значение, подходящее в этом случае. Давайте проведём простой эксперимент: вы напишете здесь как надо точно переводить эти слова на русский язык в этой лекции? Лучше сходу, без заглядывания в словарь. А потом мы с Вами вместе выясним, насколько точен был Ваш перевод. Согласны?
@DevPlayGame Жыл бұрын
Где можно скачать код проекта и посмотреть? У меня с datasource проблемы, может что то пропустил.Заранее спасибо!
@DevPlayGame
Жыл бұрын
Нашел) Тут выход если кому будет нужно: www.baeldung.com/spring-boot-configure-data-source-programmatic
@user-cg4ly2ey6p Жыл бұрын
Гаврюша задолбал
@stuff199488 Жыл бұрын
deprecated video, WebSecurityCinfigurerAdapter is deprecated (устарел)!
@aleksandrchekushov55733 жыл бұрын
Господи. Ну пожалуйста пишите в названии что ваше видео относиться к Spring Boot. Пытаюсь понять SpringMVC + Security и все время на boot попадаю.
@user-wg4du2hk5x
3 жыл бұрын
получилось найти хороший ресурс для изучения SpringMVC + Security ?
@aleksandrchekushov5573
3 жыл бұрын
@@user-wg4du2hk5x Не... все надергал по крупицам. То там то тут...
@b.g.5106
3 жыл бұрын
@@aleksandrchekushov5573 у Специалиста были курсы по MVC
@lindx2533
3 жыл бұрын
исусе, а какая разница то? подключи Не springboot библиотеки
@aleksandrchekushov5573
3 жыл бұрын
@@lindx2533 огромная. тотже SpringSecurityInitializer в буте вообще не нужен. А не в буте без него ничего пахать не будет. Контекст в буте тоже подругому конфигурируется. Там еще тонна подводных камней. Вы пробовали запускать секьюрити с бутом и без бута? Да 99% там одинаковы. Но в 1% подводных камней кроятся самый сок. Boot это как бы автонастройщик. Авто он на то и авто что он многое делает автоматически. Без бута вам самому надо собирать контекст. Извещать контекст о секьюрити. и т д и т п.
@user-ew3fu6pc2d Жыл бұрын
Прошу больше не ведите таких стримов на белом фоне, очень сложно завами повторять имея только один монитор.
@ekaterinaivanova98739 ай бұрын
без гитхаба как-то скучно
@Das.Kleine.Krokodil Жыл бұрын
Кому здесь совсем не понятно, я рекомендую на канале jusaf посмотреть "Изучаем Spring Security. Часть 0. Как написать свой Spring Security" а потом вернуться сюда
@seleldjdfmn2213 жыл бұрын
Very cool. You really are talented! also, I want To Be friends xD
@dan_e-m7891
3 жыл бұрын
xDDDDDDDDDDD
@sirdee394
3 жыл бұрын
FUCK U JOHN
@ekaterinaivanova98739 ай бұрын
а как посмотреть сгенерированный пароль если логи стерты?
@FlameXander
9 ай бұрын
Речь про то, когда пользователь автоматически создается Спрингом? Если да, то при каждом запуске пароль будет новый генерироваться (так как это тестовый пользователь)
Пікірлер: 109
00:00 Начало 01:30 Создали и минимально настроили проект 07:45 Configure: authorizeHttpRequests, antMatchers, anyRequest, formLogin,.. 17:55 Первый запуск. Логин под юзером созданным спрингом. 22:27 Логаут 24:42 Principal - позволяет узнать под кем зашел пользователь. 26:01 В каком контексте спринг хранит инфу о пользователе 31:09 Схема цепочки фильтров спринга 33:55 *In-Memory - хранение юзеров хардкодом* 38:37 Авторизация и переброс на страницу соответствующую юзеру 41:07 *jdbc - хранение юзеров в базе данных.* Создание юзеров в БД хардкодом. 45:23 Где именно в БД можно хранить юзеров. 52:38 Authority - это право доступа. Как спринг работает с этим. 01:01:30 *DAO Authentication - оперирование юзерами через сущности спринг.* DaoAuthenticationProvider. PasswordEncoder 01:09:20 UserService - сервис по предоставлению юзеров 01:13:12 UserDetails - содержит: имя, права, включен, просрочен 01:14:17 Преобразование Роли в Authority 01:16:30 Передаем UserService в DaoAuthenticationProvider 01:19:15 Фиксим баг ленивой загрузки из-за связи один ко многим 01:20:07 Как через Principal получить данные сущности User 01:22:24 Схема работы Spring security 01:32:05 Обсуждение прошлых вэбинаров в части Security 01:33:36 Краткое словесное описание схемы 01:34:02 Устройство JdbcUserDetailsManager 01:38:31 Демонстрация работы фильтров в отладчике 01:41:47 Просмотр цепочки фильтров при debug = true 01:44:36 Защита от CSRF - межсайтовой подделки запроса (Cross-site request forgery) 01:51:42 Ответы на вопросы
Сделайте, пожалуйста, видео про REST и JWT. Очень понятно доносите информацию. Соглашусь, что это, наверное, самое лучшее видео по Spring Security на ютубе)
Премного благодарствую... Посмотрел 1 раз - ПОЗНАКОМИЛСЯ, посмотрел 2 раз - ПОДРУЖИЛСЯ, посмотрел 3 раз - ВСЕ КАК РОДНОЕ))))
Спасибо Вам за Вашу работу, мне очень помог этот материал!
Очень долго искал хороший материал по Spring Security и вот я его нашел огромное спасибо!!!!!!
Это лучшее руководство по Spring Security. Спасибо!
Доброго дня! Случайно попал на Ваше видео. Александр, Вы безусловно потрясающе доносите информацию. Очень внимательно к деталям. Однозначно присоединяюсь к Вашему творчеству и буду смотреть остальные видео!
большое спасибо за подробное видео, очень помогает изучать, как это все работает!
Спасибо за шикарный материал!
Очень хороший урок! Авторy огромная благодарность👍👍👍
спасибо большое за видео, очень помогло разложить всё по полочкам в голове.
Интересно было послушать. Спасибо большое и за "работу под капотом" - отдельное )) Молодца
Очень понятное объяснение Spring Security. Большое спасибо!
не с первого раза, но понял, Отличная подача, спасибо вам!
Подробно, четко и без воды.
Спасибо за объяснение Spring Security!
спасибоооооо.. пожалуйта продолжаете))
Красавчики еще добавили исходник код спасибоо еще таких много видео ждем
Отличное преподнесение информации, спасибо!!!
Спасибо огромное за видео, по настоящему понятно стало, до этого неделю сидел, смотрел видео другие пытался разобраться и все было магией. очень жду еще видео про спринг секьюрити и AUTH2.0 с использованием сторонних сервисов, если можно то с ВК апи, ибо про него совсем мало гайдов
Спасибо за объяснение загадочного устройства Spring Security!
Отличное видео, спасибо 👍
Большое спасибо!
Спасибо, очень круто!
Это самое идеальное объяснение Спринга из всех какие есть на KZread.
@b.g.5106
3 жыл бұрын
а как же гоша дударь ? 😆
@kuzd4niil
2 жыл бұрын
Есть ещë amigos code, но там английский
Круто!!! Спасибо!!!
Огромное спасибо!
Отличный видео-разбор Spring Security! Будет ли подобное видео по разбору OAuth2 аутентификации в классическом виде на каком-нибудь Provider-service, который не идет из коробки с Security или с использованием отдельно реализованного сервера аутентификации?
Спасибо, что рассказываете, как оно всё работает внутри, да ещё и с картинками. Так некоторый хаос информационный в голове укладывается лучше. Кстати, привет Вам, с самого первого Вашего потока, по Java GB (lvl 3), из 2016г :)
@user-uz9mg5dl8g
2 жыл бұрын
Можешь ссылки скинуть на эти уроки!
Божественно)
@sirdee394
3 жыл бұрын
Мммм веб разраб)
супер!
Саша это тебе команда поменять кодировку в SQL Shell \! chcp 1251 спасибо за урок большое!)
Ссылка на исходники: drive.google.com/file/d/1TgvfG5s5bSk9sedUfP8I7CCgO3F7-tyV/view?usp=sharing
@user-og3rt8xj1v
3 жыл бұрын
а можете еще sql.txt, из которого вставляли код для создания таблиц, дать?
@FlameXander
3 жыл бұрын
@@user-og3rt8xj1v можете вот по этой ссылке скачать исходники: drive.google.com/file/d/18gL8N2xsXSXLLjzcWOavoSqFc65P9fFk/view?usp=sharing . В этом варианте я разделил варианты настройки безопасности на 4 варианта: самый простой, in-memory, jdbc и dao. И каждый из этих вариантов включается через соответствующий профиль. В папках db/migration можно найти sql скрипты. В Main классе в комментариях написано как указать профиль
@user-og3rt8xj1v
3 жыл бұрын
@@FlameXander спасибо!
Спасибо за видео. Про хранение пользователей в контексте. Насколько я понял, можно все данные пользователя хранить в Principal, если имплементировать Userом интерфейс UserDetail. Тогда в базу можно каждый раз не лезть.
хорошая подача
ты проста брат пушка
Спасибо за видео! Всё больше проясняется тонкостей. Подскажите пожалуйста, зачем инжектить зависимости через конструктор? Прекрасно же работает через поля. Это код стайл такой, или есть более глубокий смысл?
А есть в планах Spring Boot + JWT + React? Совсем нет информации на русском :)
super!
оч круто, спасибо!) А можно где-то посмотреть видео с сентября, декабря? там про интернет-магазин или что-то мелькало.. большой такой проект, интересно было бы посмотреть, спасибо!)
Очень крутое видео , спасибо большое ! Вопрос 1, когда допустим UserDetail нашёл юзера в базе, DaoProvider сверил имя и пароль и если все ок обратно по цепочке возвращается токен в котором UserDetails и Authorities, а на каком этапе происходит проверка роли или прав для доступа к страницам, на том же где и сверка имени и пароля ?
А можно где-то посмотреть исходный код магазина на спринге ,про который упоминали в видео ?
Ждем JWT auththentication
Супер! Коли буде наступне відео про Spring Security ?
👍
Александр можно ли как с вами связаться?
поделитесь, пожалуйста, другими частями данного курса
Как попасть к вам в группу чтобы посмотреть про магазин на спринге и прочее? (oauth, jwt)
Отлично видео, спасибо. После 3-хкратного просмотра становится понятнее)
отличный урок. Я просто удивляюсь, каким образом это все можно узнать из документации? Я просто пытался изучить документацию, но даже близко всего этого не понял, хотя все дают совет изучить фрейсворки по документации. Как это правильно делать? Где в документации описано все это? Поделитесь советом кто-нить.
thank
Отличный урок!!!! А на гите код не лежит?
Материал настолько крутой, что я даже скачал себе видео)
@anthonystain4168
3 жыл бұрын
да, а то они могут передумать и удалить видео с ютюб)
@ladysoverschenstvo7875
3 жыл бұрын
А через какую программу вы скачиваете?
@user-nz8zq3gj1f
2 жыл бұрын
@@ladysoverschenstvo7875 savefrom сайт открой
есть ли какое-то продолжение по спринг секьюрити с jwt?
Спасибо! Очень доходчиво. Не совсем понятно, если пользователь авторизировался на сайте банка и теперь он со своим JSESSIONID ходит по всем страничкам банка, каким образом он случайно попадет на страничку злоумышленника???? Т.е. вариант вероятно такой, что уйдя со страницы банка и случайным образом нажав на левую ссылку, пользователь попадает на страничку очень похожую на страницу банка?? В таком случае как сервер злоумышленника перенаправит "плохой" запрос на сайт банка? JS-скрипт делает этот редирект? Если так, то в какой момент браузер клиента подставляет тот самый JSESSIONID, ведь при JS-редиректе не получится подставить валидный JSESSIONID
А как без spring boot заиспользовать правильно security? Было бы видио по такой теме - совсем огонь был бы)
Спасибо за хороший материал. Аннотацию @Autowired, необязательно писать над конструктором, спринг и без аннотации подхватывает bean
А где хранятся csrf токены тогда? Не в куках?
Здравствуйте, спасибо за видео. Как можно авторизоваться не по имени человека а по email? Просто могут быть люди с одинаковыми именами.
@FlameXander
Жыл бұрын
Вечер добрый, username это же имя пользователя в системе, в БД его надо делать уникальным и тогда два разных человека не смогут создать пользователей с одинаковый username'ом. Подвязать email можно в качестве логина пользователя, для этого в реализации UserDetailsService в имя (первый аргумент конструктора) org.springframework.security.core.userdetails.User кладете не user.getUsername(), а user.getEmail().
@viptutorials
Жыл бұрын
@@FlameXander Спасибо вам огромное, очень хорошо объясняете лайк с меня.
это какой-то курс или что? где можно посмотреть всё остальное?
Александр, дополню ваше объяснение по csrf токену и предложу улучшенный алгоритм. На страницу вставляем яваскрипт код который отсылает запрос в банк на получение формы оплаты. Сервер банка по живому джисэшн куки отдаёт форму с свежим csrf токеном, далее парсим полученное тело, вытаскиваем csrf и вставляем в свою фору, отправляем обратно в банк нужный пост
@alexgorodecky1661
4 ай бұрын
Да, не работает все это. Однако, CORS решает все эти проблемы, и по умолчанию он включен
а есть где-то видео автора про интернет-магазин?
в пайнте это мышью пишите или стилусом?
Спасибо за туториал! Очень хорошее обьяснение! Получаю ошибку - Encoded password does not look like BCrypt А вот и решение - new BCryptPasswordEncoder().encode(password) - пароль нужно получать через этот энкодер
А вот если максимально упростить? Допустим, нет разных ролей, все пользователи одинаковы. Можно обойтись без таблицы roles? Откуда тогда брать авторитиз? Там обязательно требуется коллекция, которую надо делать из коллекции ролей? Или есть какие-то по умолчанию? Я делал по образцу из другого видео и убрал роли из БД, а в коде их захардкодил, Но что-то ни хрена не вышло, всё время получаю 403, видимо что-то упустил :( Мне кажется, в объяснении надо идти от простого к сложному: - вот одинаковые пользователи и вот ресурсы, которые им доступны; - а теперь давайте разграничим им права, добавив роли. Так будет понятнее, КМК.
@serjpavlenko
2 жыл бұрын
вероятно, неправильно настроили authorizeRequests() в методе `public void configure(HttpSecurity http) throws Exception{...}`. На будущее, кидайте код, хотя бы через pastebin.com
28:59 SecurityCintextHolder Pic
интересно а как через даопровайдер юзеров создавать с ролями и паролем и именем, без jdbc
хтось може сказати як долучитися до телеграм чату і де є проект веб магазину на спрінгу
+
Каждый раз когда я пишу код : 50:25
Спасибо. Не встречал лучшего объяснения. Было бы ещё понятнее при переводе английских названий на русский язык. Поскольку каждое английское слово может иметь несколько разных значений. Без этого получается абстрактное(отвлечённое) представление о понятиях и устройстве. Поскольку для большинства слушателей "Принципал с авторитис" звучит как "Штука с фиговинами".
@oleksa537
Жыл бұрын
как можно изучать программирования без элементарных знаний английского? В таком случае для таких слушателей и "Стринг и интежер" звучит как "стринги с инжиром".
@konstantinchvilyov9602
Жыл бұрын
@@oleksa537 String и Integer - базовые понятия языка Java. И большинство программистов понимают их смысл, даже если не знают перевода на русский язык. Principal и Authotities встречаются значительно реже. И я думаю, что большинство программистов на момент слушания этого доклада не знали как они переводятся на русский. А из тех что знали, многие не могли однозначно выбрать значение, подходящее в этом случае. Давайте проведём простой эксперимент: вы напишете здесь как надо точно переводить эти слова на русский язык в этой лекции? Лучше сходу, без заглядывания в словарь. А потом мы с Вами вместе выясним, насколько точен был Ваш перевод. Согласны?
Где можно скачать код проекта и посмотреть? У меня с datasource проблемы, может что то пропустил.Заранее спасибо!
@DevPlayGame
Жыл бұрын
Нашел) Тут выход если кому будет нужно: www.baeldung.com/spring-boot-configure-data-source-programmatic
Гаврюша задолбал
deprecated video, WebSecurityCinfigurerAdapter is deprecated (устарел)!
Господи. Ну пожалуйста пишите в названии что ваше видео относиться к Spring Boot. Пытаюсь понять SpringMVC + Security и все время на boot попадаю.
@user-wg4du2hk5x
3 жыл бұрын
получилось найти хороший ресурс для изучения SpringMVC + Security ?
@aleksandrchekushov5573
3 жыл бұрын
@@user-wg4du2hk5x Не... все надергал по крупицам. То там то тут...
@b.g.5106
3 жыл бұрын
@@aleksandrchekushov5573 у Специалиста были курсы по MVC
@lindx2533
3 жыл бұрын
исусе, а какая разница то? подключи Не springboot библиотеки
@aleksandrchekushov5573
3 жыл бұрын
@@lindx2533 огромная. тотже SpringSecurityInitializer в буте вообще не нужен. А не в буте без него ничего пахать не будет. Контекст в буте тоже подругому конфигурируется. Там еще тонна подводных камней. Вы пробовали запускать секьюрити с бутом и без бута? Да 99% там одинаковы. Но в 1% подводных камней кроятся самый сок. Boot это как бы автонастройщик. Авто он на то и авто что он многое делает автоматически. Без бута вам самому надо собирать контекст. Извещать контекст о секьюрити. и т д и т п.
Прошу больше не ведите таких стримов на белом фоне, очень сложно завами повторять имея только один монитор.
без гитхаба как-то скучно
Кому здесь совсем не понятно, я рекомендую на канале jusaf посмотреть "Изучаем Spring Security. Часть 0. Как написать свой Spring Security" а потом вернуться сюда
Very cool. You really are talented! also, I want To Be friends xD
@dan_e-m7891
3 жыл бұрын
xDDDDDDDDDDD
@sirdee394
3 жыл бұрын
FUCK U JOHN
а как посмотреть сгенерированный пароль если логи стерты?
@FlameXander
9 ай бұрын
Речь про то, когда пользователь автоматически создается Спрингом? Если да, то при каждом запуске пароль будет новый генерироваться (так как это тестовый пользователь)
А есть запись вебинара, где вы делали магазин?