Spring Security, Формы регистрации и аутентицикации.

Поделиться
HTML-код
  • Опубликовано: 4 окт 2021
  • Форма регистрации и аутентификации.
    GitHub: github.com/azim-ut/spring_auth
    Состоит из 3х подпроектов:
    Auth: Spring Security
    Client: RestController example
    UI: NuxtJS
    Опросник по аннотациям Spring JPA: proftrud.ru/shop/21
    javasnippet
    В Spring Initializr - скачал для Java8, но забыл поменять версию языка в IDE c 16й)
    04:00 Spring Initializr
    06:24 Доп. боблиотеки
    09:09 AUTH: Properties
    12:17 UserDetails
    16:46 UserRepository
    17:45 AppUserDetailsService
    19:30 AppUser + Annotations
    38:33 JwtTokenFilter
    44:46 WebSecurityConfig
    49:54 Список фильтров
    51:20 Auth: Bean package
    58:39 RegistrationService
    58:39 RegistrationService
    1:00:07 Auth: signUpUser
    1:03:37 PasswordEncoder
    1:08:00 AuthController
    1:20:11 LoginService
    1:21:48 ProviderManager
    1:27:25 Logn: проверка пароля
    1:30:01 AuthenticationException
    1:31:05 Что вернет Authentication?
    1:37:19 Auth: Start
    1:37:58 Properties debug
    1:38:23 authenticationManagerBean
    1:40:08 Client проект
    1:40:23 Client properties.yaml
    1:42:04 Client: JwtSettingsProvider
    1:43:49 Client: CurrentUser
    1:44:00 Clients: CurrentUserProvider
    1:46:36 Client: AccessFilter
    1:56:01 Auth: api/v1/auth/current
    1:58:11 Auth: api/v1/auth/logout
    1:59:50 Client: api/v1/client/access
    2:02:09 UI: NuxtJS
    2:02:16 UI: Axios Proxy
    2:03:40 UI: Vuex
    2:07:36 UI: HTML + формы
    2:14:45 Csrf ON
    2:15:08 Auth: NPE fix
    2:16:12 Запуск и проверка
    2:18:05 Csrf проблемка
    2:20:27 Спасибо!
    #Java
    #SpringBoot
    #SpringSecurity
    #NuxtJS
    #Rest
    #JWT

Комментарии • 20

  • @Hell5426
    @Hell5426 6 месяцев назад +1

    Пришёл сюда за spring security после документации, чтобы узнать правильно ли я все понял ;D
    Крутой контент по жабе, и побольше видосов с дедом, который кофе пьёт ;D, пока подписоты мало, все же модные молодёжные градло-котлинисты, но я думаю что скоро начнет подкатываться, т.к. у меня это выехало в рекомендуемых.

  • @user-lx4dc1ls3e
    @user-lx4dc1ls3e Год назад +1

    Александр, спасибо!!! Очень интересно👍👍👍

  • @beSmarterThanMe
    @beSmarterThanMe 2 года назад +4

    Просто кладец знаний. Я как джун говорю спасибо!

  • @user-dq9ub1lj9j
    @user-dq9ub1lj9j Год назад +2

    Супергодно рассказываете, спасибо!

  • @dmitrelkin9256
    @dmitrelkin9256 2 года назад +2

    Александр, спасибо! Как всегда чистая информация без воды, знания хорошо систематизированы. Хороший шаблон, который можно не только рассматривать как учебное пособие, но и после обработки напильником под свои нужды включать в рабочие проекты. Очень радует правильная академическая речь, без слов паразитов и всяких э-каний. Может задумаетесь на тему создания полновесного курса? ))

    • @azimutjava
      @azimutjava  2 года назад +2

      Спасибо на добром слове! По курсу - желание есть, надеюсь вскорости заполнить пробелы и сколотить курс для вас и себя) А пока готовлю ещё один пример проекта. В этот раз с кафкой.

  • @artemyablokov4448
    @artemyablokov4448 Год назад

    22:15 у SprtigBoot есть удобная штука чтобы проперти через @Value не тащить по-штучно
    spring-boot/docs/2.7.2/reference/html/configuration-metadata.html#appendix.configuration-metadata.annotation-processor
    PS есть ощущение, что автор устроился на работу в faang где-то год назад и чтобы не забыть общепринятые технологии - радует нас годными туториалами :)

    • @azimutjava
      @azimutjava  Год назад

      Пропустил коммент как-то. Очень интересно! По поводу faang - не угадали. а вот чтобы не забыть - это в точку! И не забыть и поделиться если кому надо. Не секрет что без практики - много забывается. А на практике редко удается базовыми настройками играть. И еще признаюсь в том что говорю почти в каждом ролике - в чем-то учусь вместе с вами и то что как казалось знал раньше - закрепляется крепче и круче.

  • @user-iu6yz6ck6h
    @user-iu6yz6ck6h 2 года назад +1

    Спасибо за видео, очень полезно!

  • @NickRuster
    @NickRuster Год назад +1

    круто) спасибо большое

  • @nurzatbekdunganov863
    @nurzatbekdunganov863 2 года назад +2

    Здравствуйте очень хорошее видео и контент в общем и целом. Пожалуйста если у вас будет время не могли бы вы реализацию админ панеля показать. Спасибо большое! Буду очень вам благодарен

    • @azimutjava
      @azimutjava  2 года назад

      Спасибо! По админ панели не понял о чём именно идёт речь?

  • @viptutorials
    @viptutorials Год назад

    Здравствуйте, спасибо за видео. Как можно авторизоваться не по имени человека а по email?
    Просто могут быть люди с одинаковыми именами.

  • @user-df9lg3og6z
    @user-df9lg3og6z 2 года назад +1

    Подскажите какую из четырех схем авторизации вы тут реализуете или это совсем не про OAuth 2 и это чисто про JWT-токен? Я просто еще слабо в этом разбираюсь, а почему то на ютубе ни кто не дает информацию о том какую схему они реализуют.

    • @azimutjava
      @azimutjava  2 года назад +2

      Здравствуйте! Схема тут скорее OAuth 2 (поскольку сразу 2 токена выдаю) с хеш подписью токена. OAuth в принципе тоже авторизация с использованием токенов. Вы например проверяете юзера по логину/паролю, двухфакторно и т.п. и выдаёте токены доступа. Третьей стороне. Тут как таковой третьей стороны нет, но есть "узнавание" на уровне токенов между приложениями. Так что можно эти приложения обозначить третьей стороной. И тогда получается OAuth2. Вообще OAuth не столько про реализацию токенов, сколько про организацию выдачи токенов: когда и в каком порядке.

  • @NickRuster
    @NickRuster Год назад

    еще бы круд сюда прикрутить

  • @lisafox9026
    @lisafox9026 Год назад +1

    самое трудное вникать в чужой код, если вы что то хотите объяснить, то пишите и сразу объясняйте

    • @azimutjava
      @azimutjava  Год назад +1

      Согласен с вами. Стараюсь)

  • @user-lg4yb4tk9h
    @user-lg4yb4tk9h Год назад +1

    Если в бине есть public поля, а нам надо заинжектить final поля, то можно не только через конструктор, а использовать аннотацию lombok @RequiredArgsConstructor

    • @azimutjava
      @azimutjava  Год назад

      Верно. Правда для случаев когда вперемешку final и mutable поля и оба хотим задать в конструкторе - аннотация не подойдёт. Но в текущей ситуации можно было и обойтись аннотацией.