Точки входа аутентификации - Spring Security в деталях

  Рет қаралды 8,557

Уголок сельского джависта

Уголок сельского джависта

Күн бұрын

Пікірлер: 33
@shurik_codes
@shurik_codes Жыл бұрын
Читать на сайте alexkosarev.name/2023/06/03/authentication-entry-point-spring-security/ Читать в VK vk.com/@shurik.codes-tochki-vhoda-autentifikacii-spring-security Читать в Telegraph telegra.ph/Tochki-vhoda-autentifikacii---Spring-Security-06-03
@ilYa1984
@ilYa1984 2 ай бұрын
Калорийность Ваших видео зашкаливает, спасибо.
@nizat_rum
@nizat_rum Жыл бұрын
Все супер! У меня предложение по тому, чтобы наглядно продемонстрировать на примере простого Spring Boot приложения как это все устроено, в связке с контроллерами, сервисами, репозиториями и так далее. Конкретно как зарегистрировать пользователя -> сохранить его логин и пароль в БД, при авторизации как правильно его аутентифицировать согласно полученных данных и данных в БД. Максимально абстрактно и с несложным примером)) В целом все понятно, но как это все в реальности связать правильно.....та еще задача.
@shurik_codes
@shurik_codes Жыл бұрын
Учту, у меня есть в планах такой ролик
@paradiesd
@paradiesd Жыл бұрын
Спасибо, ждем новые видо
@dmitrelkin9256
@dmitrelkin9256 Жыл бұрын
Александр, спасибо! Так получилось, что долго пытался понять что и как делает exceptionHandling и authenticationEntryPoint и нафига оно вообще нужно ) - из просмотренных мной твое объяснение самое понятное и качественное. Респект! p.s. Вопрос - а как правильно поступить в случае с REST ? Отправить ответ "unathenticated" и в responceBody ссылку на endPoint для аутентификации?
@shurik_codes
@shurik_codes Жыл бұрын
Насчёт REST всё зависит от контракта между клиентским приложением и серверным. В целом на мой взгляд достаточно отправлять 401 Unauthorized для указания отсутствия аутентификации.
@dmitrelkin9256
@dmitrelkin9256 Жыл бұрын
@@shurik_codes Спасибо за ответ! Александр, правильно ли я понимаю что exceptionHandling перехватывает исключения возникающие в процессе аутентификации и далее уже обработка идет в authenticationEntryPoint?
@shurik_codes
@shurik_codes Жыл бұрын
@@dmitrelkin9256 exceptionHandling перехватывает вообще все исключения, происходящие в процессе работы Spring Security, а в authenticationEntryPoint передаёт исключения AuthenticationException
@SirNicklass
@SirNicklass Жыл бұрын
Кастомный dsl в 7-ом Spring Security похоже удалят, на 6.1 большинство chain-методов помечены как deprecated, форсят использование lamda выражений
@shurik_codes
@shurik_codes Жыл бұрын
Вот это поворот, пора обновляться до spring boot 3.1, судя по всему там много интересного
@SirNicklass
@SirNicklass Жыл бұрын
@@shurik_codes да, депрекейтов накинули будь здоров)
@nikolaymatvienko1090
@nikolaymatvienko1090 Жыл бұрын
Отлично!. А в чем принципиальное отличие, мы ведь можем вместо .authenticationEntryPoint указать кастомную точку аунтефикации через .loginPage("страница")?
@shurik_codes
@shurik_codes Жыл бұрын
HttpSecurity.exceptionHandling().authenticationEntryPoint() - это основной способ задания точки входа, а loginPage - это метод из DSL аутентификации при помощи формы, который в качестве точки входа использует new LoginUrlAuthenticationEntryPoint(loginPage), по сути упрощенный способ установить точку входа в контексте аутентификации при помощи формы.
@kacetal
@kacetal 4 ай бұрын
Обьяснение отличное, спасибо. Но уж очень плохое название у класса выбрали авторы spring-security, когда видишь EntryPoint то кажется что это то с чего начинается цепочка фильтров, что то вроде AuthenticationManager. А по сути это то чем она заканчивается. Конечно после вашего объяснения становится понятно что это как бы начало аутентификации после её провала. Хотя может для англоговорящих это более очевидно.
@DauletZhantekov
@DauletZhantekov Жыл бұрын
Круто, спасибо за контент! Заметил swagger asterisk-a, занимаетесь звонками?
@shurik_codes
@shurik_codes Жыл бұрын
Немного)
@megustolapasta
@megustolapasta Жыл бұрын
Добрый день, планируется ли материал по jwt авторизации?
@shurik_codes
@shurik_codes Жыл бұрын
Надеюсь, до неё тоже дойдёт)
@Ivan-t8l1r
@Ivan-t8l1r 22 күн бұрын
Что будет, если не создать точку доступа?
@АркадийСаакян-ч5н
@АркадийСаакян-ч5н 11 ай бұрын
Я хочу, чтобы пользователю при неправильном вводе логина/пароля показывался шаблон Thymleaf с атрибутом (Model) incorrectUsernameOrPassword. Скажите, пожалуйста, как это можно сделать? Другими словами, я хочу узнать, как показать пользователю страницу, динамично созданную с помощью Thymleaf и не использовать sendRedirect.
@karton2282
@karton2282 Жыл бұрын
Александр, ваши ролики - это просто клад. У меня возник один вопросик. Когда вы поставили точку входа в "sign-in.html", я так понимаю у вас уже был реализован контроллер логирования? Или он должен по дефолту работать?
@karton2282
@karton2282 Жыл бұрын
И как вы авторизовались, используя пароль password, а не сгенерированный?
@shurik_codes
@shurik_codes Жыл бұрын
Фильтр для логина автоматически активируется при использовании formLogin при конфигурировании цепочки фильтров безопасности
@shurik_codes
@shurik_codes Жыл бұрын
@@karton2282 задал в application.yml постоянный пароль свойством spring.security.user.password
@karton2282
@karton2282 Жыл бұрын
@@shurik_codes Надеюсь у вас в планах есть сделать ролик про аутентификации с использованием JWT токена)
@shurik_codes
@shurik_codes Жыл бұрын
Планы на аутентификацию при помощи JWT у меня есть
@ram0973
@ram0973 Жыл бұрын
А если я хочу jdbc сессию, но при этом REST API, какая точка входа должна быть?
@shurik_codes
@shurik_codes Жыл бұрын
Точка входа зависит от используемого способа аутентификации, так что она может быть любой.
@a.egorov85
@a.egorov85 Жыл бұрын
Подскажите пожалуйста, а как обработывать ошибку входа если пользователь в "бане". Перенаправлять на страницу с сообщением о бане?
@shurik_codes
@shurik_codes Жыл бұрын
Вариантов много, самый простой - при загрузке информации о пользователе при помощи UserDetailsService указывать, что пользователь заблокирован. Но можно реализовать и свой вариант при помощи фильтра, который будет проверять после аутентификации, заблокирован пользователь или нет и перенаправлять его на соответствующую страницу.
Источники информации о пользователях - Spring Security в деталях
22:15
Уголок сельского джависта
Рет қаралды 6 М.
Аутентификация - Spring Security в деталях
1:05:16
Уголок сельского джависта
Рет қаралды 35 М.
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН
Отладка контекста безопасности - Spring Security в деталях
13:17
Уголок сельского джависта
Рет қаралды 3,6 М.
Keycloak и Spring Security
37:37
Уголок сельского джависта
Рет қаралды 17 М.
Spring Boot APIs Gateway in 20 Minutes
22:50
The IT Wizard
Рет қаралды 14 М.
Авторизация - Spring Security в деталях #java #spring #springsecurity #abac #rbac #authorization
1:22:58
Docker Compose и Spring Boot 3.1
34:06
Уголок сельского джависта
Рет қаралды 13 М.
Что такое Framework простыми словами?
9:51
Sergey Nemchinskiy
Рет қаралды 192 М.
Евгений Борисов - Spring - Глубоко и не очень
1:03:57
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 162 М.
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН