Spring Boot 3 Security Tutorial | Authentication and Authorization | Spring Security Tutorial

Поделиться
HTML-код
  • Опубликовано: 26 ноя 2024

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

  • @GenuineCoder
    @GenuineCoder  7 месяцев назад +6

    Part 2 - JWT Authentication with Spring Security: ruclips.net/video/HYBRBkYtpeo/видео.html
    More in-depth Spring Boot courses on the playlist: ruclips.net/p/PLhs1urmduZ2-W9wfEktEnSYJWrdoLUdOk

    • @RK22082
      @RK22082 6 месяцев назад

      40:30 To Rename any file from the Intellij Idea, Right Click -> Refactor -> Rename 😊😊😊
      @GenuineCoder ❤❤❤

  • @mekanikoosiraniko3172
    @mekanikoosiraniko3172 4 месяца назад +11

    I struggled for 2 weeks on how to use db users for authentication using spring security until I found your video. Kudos to you. The world needs a lot of people like you.

  • @indiancitizen6609
    @indiancitizen6609 6 месяцев назад +10

    To all who are searching for building a login system using spring security, this is best one I have found. Perfect in all sense. THanks bro. Please do build more videos. You are doing a great job.

    • @_naushad_ahmad
      @_naushad_ahmad 6 месяцев назад

      Hey Bro.
      Have you implemented the code . When i login the page i got bad credentials.

    • @indiancitizen6609
      @indiancitizen6609 6 месяцев назад

      Either your username or password might be wrong

  • @ben_d_billion
    @ben_d_billion 7 месяцев назад

    You are truly a genuine coder, the video is so precise, i highly recommend this tutorial.

  • @kromann413
    @kromann413 2 месяца назад

    Best updated and clear to the point on RUclips. I watched at 2x and finally was at normal speed.

  • @project4fun_sak
    @project4fun_sak Месяц назад

    Wow, this the best hands on spring security tutorial I found so far! Thanks a lot.

  • @sourabhkumar5815
    @sourabhkumar5815 12 дней назад

    Very informative. Thank you Afsal. Keep up the good work.

  • @shamimahamed8333
    @shamimahamed8333 Месяц назад

    I really don't know how to thank you,sir!! Now I clearly understand spring security easily 🥰🥰

  • @أحمدمحمودعبدالعال-ر8ق
    @أحمدمحمودعبدالعال-ر8ق 3 месяца назад

    I'm from Egypt, I want to say for you thanks for this video, actually I understand everything about spring security.

  • @ajitsuryawanshi8809
    @ajitsuryawanshi8809 7 месяцев назад +2

    perfect video i am searching for , i really enjoyed it keep uploading like....

  • @shamimahamed8333
    @shamimahamed8333 6 месяцев назад

    I have been watching spring security videos for many days, they delivered lecture over 1-2 hours, but your lecture is so clear and easy to understand over this difficult topic, thank you so much sir, for your contribution.

  • @aknowledgemachine
    @aknowledgemachine 3 месяца назад

    I love it :)
    The way how he explained about security is much much better than any other instructor.
    Thank you

  • @briangicharu2899
    @briangicharu2899 7 месяцев назад +2

    This is the best tutorial on Spring auth in RUclips so far. Thank you very much. I mean its the best. I had to subscribe for more

  • @creumakuzola4227
    @creumakuzola4227 3 месяца назад +1

    Excellent course. Thank you so much sir!

  • @antonellopierri961
    @antonellopierri961 9 месяцев назад +1

    Extremely interesting tutorial. The comparison between hashing methods was also very helpful. Thank you for sharing this content.

  • @khanhpd3129
    @khanhpd3129 8 месяцев назад

    Thanks for very helpful article. I research and practice for many article then realize it’s security spring 2. Thanks for ur security spring 3 one more time. Now i can move on another section 🎉 u explain very detail, hope i can see u in another video

  • @patrickfriedsei7800
    @patrickfriedsei7800 3 месяца назад +1

    extremly good tutorial. Top 👍🏻

  • @ТимурЖуматаев-у3д
    @ТимурЖуматаев-у3д 6 месяцев назад

    The best tutorial about Spring I've ever seen, thanks

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

    i was try lot of attempt to learn this concept but i con not learned.thanky to your video.🙂

  • @KirillMvS
    @KirillMvS 4 месяца назад

    Thank you for the video, it is really good as Spring Security in action:)
    I would appreciate the same video for other relativaly difficult topics for beginners. Subscribed.

  • @cheeks_of_the_boreal_valley
    @cheeks_of_the_boreal_valley 5 месяцев назад

    very comprehensive, easy to understand tutorial. Thank you very much

  • @indikakumarasinghe4792
    @indikakumarasinghe4792 Месяц назад

    This is marvelous explanation thanks

  • @MohaideenA
    @MohaideenA 9 месяцев назад +2

    Malayali bro :) . I love your slang .❤. from TN

  • @jay-j6l
    @jay-j6l 21 день назад

    I found this video valuabe, it was direct and to the point coding. However I wish you have wrote a better CSRF handler and just opening to everything. It's not too difficult to look up how to do, but it would have made this video more complete. The extra step to configure the login page and roles were a nice added bonus.

  • @cozitsyash1301
    @cozitsyash1301 6 месяцев назад

    Great content Sir plz dont stop making such videos Too good thank you !!

  • @pravinjagtap8467
    @pravinjagtap8467 6 месяцев назад

    Great content explained with good pace, it gives time frame to understand new learner. Great Job!!

  • @mehrshin.canada
    @mehrshin.canada 7 месяцев назад

    perfect tutorial, I enjoyed watching.

  • @davidxcode
    @davidxcode 9 месяцев назад +1

    Thank you for this amazing content!

  • @ErnestoPrime
    @ErnestoPrime 3 месяца назад

    Great Content, thanks for your videos

  • @sergeinerobeev3501
    @sergeinerobeev3501 5 часов назад

    Thanks a lot!🤝

  • @Yahayel
    @Yahayel 7 месяцев назад +1

    Perfect people not exists !
    Mr.GC : Are you sure ?
    thank you sir for this content !!

  • @callmebean1345
    @callmebean1345 6 месяцев назад

    Woa, this tutorial is very good. I really recommend this

  • @mukhitesenin6376
    @mukhitesenin6376 8 месяцев назад

    you are a genuine coder fr)

  • @bejkon116
    @bejkon116 4 месяца назад

    Very nice tutorial, thank you for this.

  • @AVRNWITHVLOG
    @AVRNWITHVLOG 4 месяца назад

    love u sir its very helpfull and explaination is very simple

  • @BizzaroBrainBoi
    @BizzaroBrainBoi 8 месяцев назад

    best ive ever seen. thank you so much.

  • @Donydavid
    @Donydavid 8 месяцев назад

    this is good way of teaching with such relaxed explanation . A billion thanks to the tutor i have been using old version of spring security i got confused to align with these new changes.
    kindly do more videos on spingboot and microservices.
    as continuation for this can you make a video on jwt and oauth2

    • @GenuineCoder
      @GenuineCoder  7 месяцев назад +1

      Thanks.
      A new tutorial for microservices with real-world video streaming project is now available
      ruclips.net/video/MrSECdSIaOg/видео.html

  • @cozitsyash1301
    @cozitsyash1301 6 месяцев назад

    Sir please bring more Spring Boot tutorials and its important topics

  • @jayakrishnathammana
    @jayakrishnathammana 5 месяцев назад

    Excellent explanation

  • @John-hi8rd
    @John-hi8rd 4 месяца назад

    Thank you for the good video. Can you also make a video to enhance your project to add the csrf protection for the system?

  • @sriraml464
    @sriraml464 3 месяца назад

    good one , great video

  • @nahomdiro7818
    @nahomdiro7818 7 месяцев назад

    Thank you. very clear I highly recommend this tutorial

  • @wilsonvaboum1338
    @wilsonvaboum1338 5 месяцев назад

    Bravo !!! full explantion

  • @liqwis9598
    @liqwis9598 4 месяца назад +1

    Nice explanation bro , Can you please teach us with OKTA ? as well

  • @aimerninelie2582
    @aimerninelie2582 6 месяцев назад

    Thank you very much, it is really helpful

  • @samahmahdi5511
    @samahmahdi5511 6 месяцев назад

    Good explanation. Thanks

  • @geordymontenegro6523
    @geordymontenegro6523 7 месяцев назад

    NICE VIDEO PERFECT, THANKS FROM COLOMBIA

  • @snakefoxxofekans
    @snakefoxxofekans 6 месяцев назад

    amazing video. Thank you!

  • @hakangleissman
    @hakangleissman 6 месяцев назад

    Great stuff!

  • @marvenmalope9504
    @marvenmalope9504 6 месяцев назад

    Thank you very much sir👏

  • @karthi1610
    @karthi1610 3 месяца назад

    Adipoli video❤

  • @ruwanliyanage228
    @ruwanliyanage228 2 месяца назад

    Thanks very much 🙂🙂

  • @vamsiala3543
    @vamsiala3543 20 дней назад

    awesome video ever

  • @viktors.4844
    @viktors.4844 6 месяцев назад

    Thank you for great video and very good explanation!
    Can I may one questions? Why we have two instances/beans (lines 32, 69) of one classes MyUserDetailService ?

  • @hiephoang7323
    @hiephoang7323 6 месяцев назад

    the great tutorial !

  • @FreaksBane
    @FreaksBane 8 месяцев назад

    Nice work

  • @liabasqulizad7962
    @liabasqulizad7962 4 месяца назад

    Thank you sir

  • @lorenzo.
    @lorenzo. 7 месяцев назад

    Great tutorial! Clear, chill and great overall tutorial! But I just had a question, how would I go about retrieving the user id?

    • @GenuineCoder
      @GenuineCoder  7 месяцев назад +1

      Thanks!
      I believe you want to get all the users and their IDs. This can be done by creating a new GET endpoint.
      For example, at 31:38, you can
      - Create a new GetMapping("/register/get-registered-users") function.
      - Use myUserRepository.findAll() to get all the registered users.
      - Take the username and their ID and return it as the endpoint response.

    • @lorenzo.
      @lorenzo. 7 месяцев назад

      @@GenuineCoder Ahh that's what I thought matching the username in the db. Is there no other way of doing this in a controller? Using Principal or something along those lines?

    • @GenuineCoder
      @GenuineCoder  7 месяцев назад

      @@lorenzo. I understand your question better now. You want to find the current already logged-in user while accessing an endpoint, right?
      There are multiple ways to do this. For example, on every endpoint function, you can inject a Principal object and get the username from it.
      @GetMapping(value = "/user/get-logged-in-user")
      public String getUsername(Principal principal) {
      return principal.getName();
      }
      Here's a tutorial for this www.baeldung.com/get-user-in-spring-security

  • @TEGUIAKAMEGNEDimitriAbel
    @TEGUIAKAMEGNEDimitriAbel 4 месяца назад

    Thanks so muckh sir

  • @MilsonPazienza
    @MilsonPazienza 8 месяцев назад

    very good content...

  • @rambhaktuchihaobito7987
    @rambhaktuchihaobito7987 6 месяцев назад

    Thanku sir..!!

  • @rohitnegi6862
    @rohitnegi6862 7 месяцев назад

    this is called Best

  • @meilyn22
    @meilyn22 9 месяцев назад

    Thank you!

  • @SalgadoMaffini
    @SalgadoMaffini 6 месяцев назад

    This was a great help, i was trying to make a register page and it worked; tho i'm having some difficulty trying to give MyUser more attributes, everytime i give them a birth date or an email i can't register them anymore on the DB. I think it has something to do with the UserDetails but don't know how to proceed.

    • @GenuineCoder
      @GenuineCoder  6 месяцев назад

      What's the error you are getting? Any error messages?

  • @mekanikoosiraniko3172
    @mekanikoosiraniko3172 4 месяца назад

    Hi Guru, can you please give me an instruction on what to add to the codes you created to pass username to the pages that would be accessed by the login user, this would be needed to record created by and modified by . thank you so much again.

  • @rahul-java-dev
    @rahul-java-dev 5 месяцев назад

    Thank you so much for the tutorial, I was able to verify credentials from Db, This is the very first time I was able to do it. But one thing, error pages are being shown--- like 403 or 404.htmls, what could be the reason? I am seeing only the default pages provided by Spring.

  • @anirangs
    @anirangs 3 месяца назад +1

    Thank you for this video. Quick question though.. When I follow your tutorial for "Redirect to a specific page after successful login" I notice that I have to enter the credentials twice before i get directed to the target page. The first time goes back to the login page itself after a successful authentication

    • @ignaciosanchez5033
      @ignaciosanchez5033 Месяц назад

      The same. how should I fix it?

    • @ignaciosanchez5033
      @ignaciosanchez5033 Месяц назад

      .logout(logout -> logout
      .logoutUrl("/logout")
      .invalidateHttpSession(true)
      .deleteCookies("JSESSIONID")
      .logoutSuccessUrl("/login?logout")
      .permitAll()
      )
      Adding this to security filter chain works

  • @TheMyth2.9
    @TheMyth2.9 8 месяцев назад

    This is an excellent video, and it was a very good revision for me as I have not used this for a while.
    I have two questions if I may please:
    1) when using Spring Boot as a Rest API, when I am only returning JSON, and i have a seperate front-end, I was having issues with filters, and I had to implement my own authentication end point in a controller, is this normal ? How to use filters with REST API?
    2) Is it possible to use HandlerInterceptor instead of filters ?
    OMG, at 47:38, look at the names of those classes, no wonder so many people are turned off by Java code, I love Java, but these names are awful

    • @GenuineCoder
      @GenuineCoder  8 месяцев назад +1

      1. Using filters to do manual authentication (using credentials as request parameters OR request headers) is possible. But, it is not recommended. Because, login session management (allowing subsequent requests after login) becomes hard. Also, this is not safe as per industry standards. Better will be to do it via username-password authentication using Spring security or use OAuth and JWT tokens.
      2). You can use HandlerInterceptor for this requirement. The difference is, filters work at the servlet level and HandlerInterceptor work at the Spring MVC level. So, HandleInterceptor can handle spring context as well. Here is a good comparison stackoverflow.com/a/71227949/4889711

    • @TheMyth2.9
      @TheMyth2.9 8 месяцев назад

      Thank you very much@@GenuineCoder

  • @josel9826
    @josel9826 7 месяцев назад

    perfect👌🏽

  • @wfacts360
    @wfacts360 3 месяца назад

    Best !

  • @panchinrc1993
    @panchinrc1993 5 месяцев назад

    Great video , so simple to understand, thank you! Greetings from Argentina!
    PD: There is an extension to see colored console messages? Mine it's plain white, thanks!

  • @mekanikoosiraniko3172
    @mekanikoosiraniko3172 4 месяца назад

    Hi Sir, Thanks for the video, how can you get the username to the landing page after sucessful login? Thanks.

  • @МиколаХлопик
    @МиколаХлопик 6 месяцев назад

    Thank you very much.
    But in my case I faced the problem of incorrect redirection after click 'Log in ' button'(nothing happened). I solved it by replacing th:action in custom_login.html to . I use 3.2.5 version of springboot.

  • @JAYSONLEVINTAPIA
    @JAYSONLEVINTAPIA 3 месяца назад

    Good day sir, what dependencies did you use to?

  • @aitorzatica4291
    @aitorzatica4291 5 месяцев назад

    What's the difference with using OAuth2, and when do we have to use each of them?

  • @johncarter2338
    @johncarter2338 5 месяцев назад

    Hi, It's a great video. I am facing a slight problem. My Authentication Success Handler part is not working properly. I have checked the codes but there isn't problem. Is there anything I can do solve this ?

  • @ShelleyBaker-g7m
    @ShelleyBaker-g7m 10 дней назад

    Do I absolutely need the DTO? Can I just use Entities?

  • @meyrambzhusipp7156
    @meyrambzhusipp7156 9 месяцев назад

    it’s perfect 😅

  • @lamlocbui2247
    @lamlocbui2247 3 месяца назад

    why .csrf(AbstractHttpConfigurer::disable) still not work with me? :<
    I have done all step on video

  • @virenderkumarbhat3789
    @virenderkumarbhat3789 29 дней назад

    I downloaded this code from your git. But it is not working as expected on my machine. I am getting the login page every time, except for /home

  • @quanhuynh1551
    @quanhuynh1551 24 дня назад

    AuthenticationSuccessHandler not active with ajax and restcontroller :(

  • @PoshanKumarSahu01
    @PoshanKumarSahu01 3 месяца назад

    thanks

  • @blaisemugisha8990
    @blaisemugisha8990 2 месяца назад

    why does my setDefaultTargetUrl() not work well? i dont get redirected

  • @jasonpyrbot5966
    @jasonpyrbot5966 Месяц назад

    Can I do it in maven project

  • @martinezjosei
    @martinezjosei 10 дней назад

    Unable to clone repository.

  • @vijayakumarsk
    @vijayakumarsk 9 месяцев назад +1

    Please put the actual code of the project into any repo as well

    • @GenuineCoder
      @GenuineCoder  9 месяцев назад

      Thanks for the suggestion. Here is the repo link github.com/afsalashyana/Spring-Boot-Tutorials/tree/master/LearnSpringSecurity

  • @gajanankanekar9118
    @gajanankanekar9118 8 месяцев назад

    TimeStamp 12.19 Sir, UserdetailsService bean showing error asking to add return statement

  • @jyothig357
    @jyothig357 8 месяцев назад

    Hi Sir, I am getting "please sign in" error when i do user registration using postman and as csrf is also disabled. Please suggest any other changes i need to do with spring security 6

  • @Carlosgh059
    @Carlosgh059 6 месяцев назад

    you have like, thanks

  • @gajanankanekar9118
    @gajanankanekar9118 8 месяцев назад

    timestamp 11.30. Sir, username, password, role all these details are available in the data table. How can we hardcode these details?

  • @KarolKasperek
    @KarolKasperek 7 месяцев назад

    I LOVE YOU

    • @KarolKasperek
      @KarolKasperek 7 месяцев назад

      after checking all spring boot website and all of these tutorials with deprecated calsses this video just showed up

  • @kirillpopov3803
    @kirillpopov3803 8 месяцев назад

    cool man

  • @la-dev
    @la-dev 3 месяца назад

    I see that you almost used @Autowired everywhere. Is it according to the best practices or it really doesn't matter and Spring can handle it easily whatever way we inject the dependency?

    • @GenuineCoder
      @GenuineCoder  3 месяца назад

      Yes, it is totally fine to use decency injection as much as you need. I have worked on production applications that had thousands of such dependencies (beans) injected across the code. Spring is pretty good at handling it.

    • @GenuineCoder
      @GenuineCoder  3 месяца назад

      By default, all beans have a singleton scope and are shared across the whole app. So no matter how many times you inject/use it, only one object will be created in the memory.
      There is a prototype scope to have multiple instances injected as well.
      Regardless of which bean scope you use, the decency injection will be efficiently managed by the spring framework.
      www.geeksforgeeks.org/singleton-and-prototype-bean-scopes-in-java-spring/

    • @la-dev
      @la-dev 3 месяца назад

      ​@@GenuineCoder I hope you were understand what I meant from the @Autowired. That is basically to refer the field injection instead of the constructor injection. So as a beginner I saw debates on it and many experienced devs suggest to use the constructor injection over the field injection.

    • @GenuineCoder
      @GenuineCoder  3 месяца назад

      @@la-dev I understand the question clearly now. What you have read is correct. The @Autowired field injection is not recommended. Constructor injection is indeed the right way to do it. The Intellij IDE gives a warning (if you have the ultimate edition) when field injection is used.
      I have explained this on the chapter 4.3 in the spring boot dedicated tutorial ruclips.net/video/fm4RtXFiP7Y/видео.html&si=2CDzp4GnPRRlDM0Y. I haven't explained it explicitly in other tutorials like this since it's not fully relevant here.

    • @la-dev
      @la-dev 3 месяца назад

      @@GenuineCoder Thank you so much for the reference and clarity.

  • @yadavharssh
    @yadavharssh 6 месяцев назад

    great

  • @Damian64287
    @Damian64287 5 месяцев назад

    Hi! Thank you very, very much. How to get such cool world web icons for @RestController methods? :)

    • @GenuineCoder
      @GenuineCoder  5 месяцев назад

      I believe they come with the IntelliJ Ultimate edition. You can try IntelliJ Ultimate trial for free to checkout the latest spring and spring boot features.

  • @varunpareek7020
    @varunpareek7020 5 месяцев назад

    Hi sir I am getting Access to local host was denied error
    Do you know how can it be resolved!??

    • @GenuineCoder
      @GenuineCoder  5 месяцев назад

      Hi, Are you not able to access localhost on browser? If so, double check your spring boot server port.

  • @zairenninofranco3927
    @zairenninofranco3927 7 месяцев назад

    What about for the maven 😢 i have a hard time fixing the dependency since it uses javas and springboot 3 is using jakartae

    • @GenuineCoder
      @GenuineCoder  7 месяцев назад

      I prefer Gradle over Maven due to its more readable syntax, whereas Maven's XML configuration can be overwhelming.
      What specific challenge or problem are you experiencing with Jakarta EE, and is it related to upgrading from Spring Boot 2.X to 3.X?

  • @indiancitizen6609
    @indiancitizen6609 6 месяцев назад

    bro. Your accent looks very similar to mine.

  • @ahmedelkelany1884
    @ahmedelkelany1884 7 месяцев назад

    i have a question how 403 and 404 error page appears without mapping it or without adding GlobalErrorHandler ?

    • @GenuineCoder
      @GenuineCoder  7 месяцев назад

      This is a special feature. Without any java side configuration, you can customize the error pages for specific error codes directly from resources.
      "You can also customize the error pages by adding files with names like error.html, 404.html, etc., in the src/main/resources/public/error directory. The file name should match the HTTP status code you want to handle."

  • @razek1998
    @razek1998 9 месяцев назад

    How to handle the situation of invalid credentials?

    • @GenuineCoder
      @GenuineCoder  9 месяцев назад +1

      You can use an "AuthenticationFailureHandler" to handle the invalid credentials. Using this, it is possible to provide customized error messages or even redirect the user to specific error pages.
      Reference: www.codejava.net/frameworks/spring-boot/spring-security-authentication-failure-handler-examples

    • @razek1998
      @razek1998 9 месяцев назад +1

      @@GenuineCoder thank you brother 🙏