How to configure Spring Security Authentication - Java Brains

Sdílet
Vložit
  • čas přidán 2. 05. 2024
  • In this video, you’ll learn how to configure the authentication mechanism of Spring Security. We’ll learn this by creating a couple of users in memory and have Spring Security authenticate and verify against them. The process you’ll learn in this video is the way to do authentication configuration in Spring Security and will be the useful to you irrespective of whatever your actual authentication approach is.
    Java Brains website: javabrains.io
    #JavaBrains #BrainBytes #WhatIs #SpringSecurity #Spring #SpringBoot #Java #Tutorial

Komentáře • 157

  • @jennymercy5869
    @jennymercy5869 Před rokem +45

    Hi Javabrains, I love all your videos very relatable and smooth but for the security video, web security adapter has been deprecated, I would love it if we could get the updated version of this lesson. Thank you sir.

    • @someone-pv9fo
      @someone-pv9fo Před 4 měsíci +1

      thanks for this comment man , I was very frustrated to finding it

  • @katiesun1533
    @katiesun1533 Před 4 lety +15

    👍Can not wait to watch next video!

  • @nursd6628
    @nursd6628 Před 4 lety +7

    When I'll get job, I'll buy all of your courses cause u a amazing man

  • @asifiqbal6093
    @asifiqbal6093 Před 4 lety +10

    Sir , i have been following you since your first video on youtube and javabrains. I have gone through all your videos and learnt a lot. I work for a MNC company, and trust me it is because of only YOU. Thank you .Indeed.

    • @Java.Brains
      @Java.Brains  Před 4 lety +17

      Good to know! In that case, according to the rules, you now owe me 25% of your salary! 😜
      Seriously though, thanks for following me over the years! Really appreciate it!

    • @asifiqbal6093
      @asifiqbal6093 Před 4 lety

      @@Java.Brains 😀😃😄

  • @go_better
    @go_better Před rokem +17

    Thank you! It would be great if you added a guide on upgrading WebSecurityConfigurerAdapter - it's deprecated now. But once again - thank you very much for the guides! They're awesome!

    • @LalitKumar-cw9rf
      @LalitKumar-cw9rf Před rokem

      True

    • @rohitkapade1130
      @rohitkapade1130 Před rokem

      ​@@LalitKumar-cw9rf aur bhai lalit kya haal chal ? Samaj gyi spring security ?

    • @gyanstudy6197
      @gyanstudy6197 Před rokem

      @@LalitKumar-cw9rf lalit ji ke maje he bhai tuje kya pata wo aajkal kya kya mje lete he 😃

  • @varghesethomas3684
    @varghesethomas3684 Před 4 lety

    Hi Koushik, I have learned so much from your video tutorials. Thank You!!

  • @ravimukti690
    @ravimukti690 Před 4 lety

    simple clear explanation, thanks for this

  • @LawZist
    @LawZist Před 4 lety

    Thanks for the great tutorial!

  • @rajendrasahu855
    @rajendrasahu855 Před 4 lety +3

    Thanks for making this tutorial.. I was waiting for this egarly..

  • @kaleemullahnizamani7436
    @kaleemullahnizamani7436 Před 4 lety +80

    Can you please make a playlist on integrating angular with spring boot and spring boot security??

    • @TheAlvaroHabbo
      @TheAlvaroHabbo Před 4 lety +1

      yes please!!

    • @juileekharat
      @juileekharat Před 4 lety +1

      Yes Yes Please!!

    • @AvinashKumar-mh6si
      @AvinashKumar-mh6si Před 3 lety

      Please do, If possible..

    • @mratanusarkar
      @mratanusarkar Před 3 lety

      yes!! much needed...
      also, If anyone is aware of and good playlist/resources on this, please do share!!

    • @minefacex
      @minefacex Před 3 lety +1

      Hey, try looking up REST interfaces. It is basically the same, but your Spring Boot controllers listen to those RESTful HTTP requests. Once you get the hang of it, it is really easy to see that it really doesn't matter what context you are in because all communication is done via RESTful requests. :D

  • @sandeepshingne4057
    @sandeepshingne4057 Před 4 lety +8

    Hi Koushik,
    Could you please take examples of securing apps you created in microservices series it will cover two topics security in general and with spring cloud....
    Thanks 😊

  • @zidrexandag06
    @zidrexandag06 Před 3 lety

    Thanks for this tutorial. I learned a lot

  • @vinoderramsetty1093
    @vinoderramsetty1093 Před 4 lety

    Thank you for sharing this video!!

  • @MrEvmk
    @MrEvmk Před 3 lety +7

    Note for my ref:
    How to configure authentication
    configure () method provided by the authenicationmanager class
    Two steps for this
    1. Get hold of authenicationmanager builder class
    2.set the configuration
    @enablewebsecuirty
    Extend websecuityconfigureadapter class and override configure() method
    .setauthorizationtype()
    . user ()
    .password()

  • @Ravikirankada
    @Ravikirankada Před 4 lety +14

    I was expecting the video will contain how to configure security like how it's done in production

  • @mssures
    @mssures Před rokem

    Superb! great explanation! Thank you.

  • @parvezahmed5287
    @parvezahmed5287 Před rokem +1

    it is mandatory that to say that u r very genious

  • @InquisitorEmir
    @InquisitorEmir Před 3 lety +1

    If anyone runs the code with no errors, but can't access your routes even with a successful login, do the next tutorial part.
    I had a problem where, even though the login form doesn't return "bad credentials" feedback, it didn't reroute me and I couldn't manually change to those routes. Finish part 5 and you'll be good.
    Thank you for your great courses @Koushik!!!

  • @ChristianAltamiranoAyala
    @ChristianAltamiranoAyala Před 4 lety +18

    It would be great to include spring security with ldap. As always great video

    • @varghesethomas3684
      @varghesethomas3684 Před 4 lety +4

      Hi Christian, you could leverage knowledge acquired through these awesome videos to do the following tutorial - spring.io/guides/gs/authenticating-ldap/

  • @pshembekar
    @pshembekar Před 3 lety

    Excellent explanation

  • @RAJESHKUMAR-jh6bq
    @RAJESHKUMAR-jh6bq Před 4 lety

    Superb explanation sir

  • @AhamedKabeer-wn1jb
    @AhamedKabeer-wn1jb Před 3 lety

    Thank you sir..Well explained

  • @tusharkadu5896
    @tusharkadu5896 Před 4 lety +2

    Hi Kaushik ,
    Please make one video on the JWT access token as well

  • @LalitKumar-cw9rf
    @LalitKumar-cw9rf Před rokem

    Wow man you teach amazing

  • @SawanKumar-yg1em
    @SawanKumar-yg1em Před rokem +3

    As you know, in Spring-Security websecurityconfigureradapter is deprecated, now how to configure AuthenticationManagerBuilder and HttpSecurity using In-Memory, JPA and JWT. Please explain.

  • @CHANDRU419
    @CHANDRU419 Před 4 lety +3

    Dheivamae! Neenga dhaan en thala!

  • @susobhandas2593
    @susobhandas2593 Před 4 lety +3

    sir can u pls add tutorials for JWT token and OAuth2 also.

  • @sahuvaibhav
    @sahuvaibhav Před 4 lety

    Are you planning to do a series on Java Messaging Servicr?

  • @lukab96
    @lukab96 Před 3 lety

    dude, you are like a demigod or something. Thanks for the great stuff!

  • @MrMikomi
    @MrMikomi Před 3 lety

    Very nice thanks.

  • @jvmadhav1987
    @jvmadhav1987 Před 4 lety +14

    Hi Sir,
    The video is great. However wanted to point out that from SpringBoot 2, WebSecurityConfiguerAdapter is deprecated. As SpringBoot 2 supports only Java 8 and above, they took the advantage of default methods in interfaces and introduced WebSecurityConfiguer interface. You can implement the interface and there is no change in any of the methods though. Request you to mention it in further videos.
    Many thanks for the great job done by you.

    • @Java.Brains
      @Java.Brains  Před 4 lety +5

      Thanks for the comment. I’ll make sure to cover the Spring Boot 2 change in a subsequent video

    • @adityakendhe3670
      @adityakendhe3670 Před rokem

      This was much needed... thank you.

  • @weirdhat922
    @weirdhat922 Před 3 lety +1

    In order to extend WebSecutiryConfigurerAdapter I had to use @Configuration annotation before the class declaration and use these dependencies -
    org.springframework.boot
    spring-boot-starter-security
    org.springframework.security
    spring-security-test
    test

  • @eswararaoravada2895
    @eswararaoravada2895 Před 4 lety +1

    Sir, could you please make videos on Design Patterns

  • @coderkorleone7830
    @coderkorleone7830 Před 2 lety

    Hi,
    Can you make IDE colors more visible? I cant see anything you write.
    Tnx for you great tutorials.

  • @br4676
    @br4676 Před 4 lety

    thanks sir

  • @AmbarDudhane
    @AmbarDudhane Před 2 lety

    Which bean should I use for hashing the password? Also, if I have multiple users stored in db, then how can I provide them authentication mechanism?

  • @subramanianchenniappan4059

    Thanks bro

  • @imanuelronaldo10
    @imanuelronaldo10 Před 4 lety

    Awesomeee!!!!

  • @johnpeter7832
    @johnpeter7832 Před 3 lety +1

    For postman you have to disable csrf and use basic authentication

  • @akalankagamage8112
    @akalankagamage8112 Před 4 lety +7

    Sir you have the idea whats going behind each and every method you explain. How you are getting that knowledge , through spring documentation or any other reading material. Knowing that will be really helpful when a new concept/version comes in or any changes happen, then we can follow those steps and learn ourself.

    • @syedsharyarjavaid9853
      @syedsharyarjavaid9853 Před 5 měsíci

      have you found the answer to this question? please tell us also.

    • @hotuankiet7530
      @hotuankiet7530 Před 4 měsíci

      that is a really good question to ask. Hope you found your way of learning, I am struggling with the documentations, they are so vague.

  • @manideepkumar959
    @manideepkumar959 Před 4 lety +1

    Content is awesome,but since it is a dark theme ,cant see the program clearly,i request to change the editor theme to normal

  • @pradeepkumar-ew1ze
    @pradeepkumar-ew1ze Před 4 lety

    Don't you need to add "@Configuration" to the class?

  • @AbhishekSharma7
    @AbhishekSharma7 Před 4 lety

    Can you please share a tutorial to integrate JWT

  • @akashjiet
    @akashjiet Před 2 lety

    Hello Java Brains and other users, Pls help me to understand:
    When we bootstrap spring security overriding configure(AuthenticationManagerBuilder auth), why authenticationManager gets initialised with User data and AuthenticationProvder. What is the use of it?
    As per say, AuthenticationManager implementation is provided by ProviderManager during request flow via Filter chaining process. Pls help me with understanding.

  • @USONOFAV
    @USONOFAV Před 4 lety

    When an angular app is calling a spring boot api, how would it supply the username and password?

  • @ClaudioRowe
    @ClaudioRowe Před 3 lety

    which ide do you use?

  • @vishnuvarhan693
    @vishnuvarhan693 Před rokem +1

    WebSecurityConfigurerAdapter() is deprecated please update

  • @melsaied101
    @melsaied101 Před 4 lety

    Thanks

  • @thisisnimish3thisisnimish39

    why did you shift from Eclipse to InteliJ?

  • @priyabratmohapatra8660

    Wonder why WebSecurityConfigurerAdapter class is there inside org.springframework.security.config.annotation(?).web.configuration package !!

  • @jagdishrawat8841
    @jagdishrawat8841 Před 4 lety

    Big fan

  • @karkiashwin1174
    @karkiashwin1174 Před 4 lety

    Big fan :D

  • @AvinashKumar-mh6si
    @AvinashKumar-mh6si Před 3 lety

    At 5:50, The method configure will have @Autowired also. Otherwise, It is not reading the configuration. Request you to please update the video a bit. Many Thanks for the videos.

  • @sdmj730
    @sdmj730 Před 4 lety

    can you create some complete application with angular 7, spring boot,spring security, hibernate and mysql....Please

  • @ianokay
    @ianokay Před rokem

    Why isn't the AuthenticationManager builder also exposed as a Bean that Spring just finds and uses?

  • @nahidchowdhury53
    @nahidchowdhury53 Před 4 lety

    How can I call it using postman for basic auth.

  • @patchipulusunaresh8682
    @patchipulusunaresh8682 Před 4 lety +2

    Hi sir thank you for the video. Which theme you are using for IntelliJ?

  • @NotNotNithin
    @NotNotNithin Před 4 lety +1

    Please demonstrate Spring Security Using Kerberos.😁

  • @salbinantony_c
    @salbinantony_c Před 4 lety

    Hi thaks for your tutorial. I have followed your Microservice tutorials and was learning zuul and all. But stuck with an issue.
    i don't know if my issue is relevant on this video. I have set up zuul and spring security with micro service. But with out authentication i can use all microservices via zuul. It works perfectly. But when i incorporated JWT authentication while accessing microservices after authentication throwing CORS issue from accessing Angular. Could you please comment what should i take care to avoid this issue.

    • @Java.Brains
      @Java.Brains  Před 4 lety

      Is your API server on a different host from whatever is serving your Angular page? If so, you'll need CORS enabled for your API server. If this is the issue, it should really have nothing to do with Spring Security or JWT.

    • @salbinantony_c
      @salbinantony_c Před 4 lety

      @@Java.Brains yes both on different machines.
      httpSecurity.authorizeRequests() .antMatchers("/**/cart/**").permitAll()
      These statement allow me to enter into cart service. Even in different hosts. I belive zuul proxy do something here.
      But when i add Authentication am getting the error. That's why i doubt security has something to do with zuul. Or i doubt i miss some configuration.

  • @elenazaytseva9196
    @elenazaytseva9196 Před 4 lety +1

    Great explanation! But could you put greater emphasis on design patterns, it would be easer to understand .

    • @Java.Brains
      @Java.Brains  Před 4 lety +1

      Thanks! Can you please elaborate on your suggestion? Do you mean separate design pattern tutorials or explaining patterns as they occur? (I’m assuming you’re referring to the builder pattern that we encounter in this video)

    • @elenazaytseva9196
      @elenazaytseva9196 Před 4 lety +1

      @@Java.Brains ​ I am just learning design patterns. And I find them helpful for understanding when I manage to recognize them. So I wish you would mention them. For example, the role of WebSecurityConfigurerAdapter as an adapter, when AuthenticationManager builds. Maybe it is excessive it is up to you. Nevertheless you gave more than enough information. Thank you!

  • @pratiklohar4566
    @pratiklohar4566 Před 2 měsíci

    Will you please update this tutorial because WebSecurityConfigurerAdapter does not exist in Latest Spring-Security Version 6.2.2. As all spring boot version above 3.0.0 using security versions above 6.

  • @MandeepSharmaAtrish
    @MandeepSharmaAtrish Před 2 měsíci

    I am getting java: cannot access javax.servlet.Filter
    class file for javax.servlet.Filter not found in SecurityConfiguration which is extending WebSecurityConfigurerAdapter

  • @ashishkumar-sw2dy
    @ashishkumar-sw2dy Před 4 lety

    If u want to use useremailId instead of username for authentication how to do

  • @kaleemullahnizamani7436
    @kaleemullahnizamani7436 Před 4 lety +1

    I'm ur big fan.you really have motivated me and taught me a lot of courses. I hope my comments do motivate u too and continue ur work

    • @Java.Brains
      @Java.Brains  Před 4 lety +4

      Thanks! While I may not respond to all comments, I do read them all. It's a constant source of motivation, for sure!

  • @praveenellaiyan
    @praveenellaiyan Před 4 lety

    Clear cut explanation. Please change the comment statement colour as it is not visible to see

    • @Java.Brains
      @Java.Brains  Před 4 lety

      Thanks! Yup, I too realized that after recording. I’ll try to change the color from next time

  • @chaitraps6433
    @chaitraps6433 Před 2 měsíci

    Thanks for the tutorial Koushik, however, the WebSecurityConfigurerAdapter is now deprecated

  • @deepnamdev5744
    @deepnamdev5744 Před rokem

    sir , have you removed application.properties file data , as i havnt and this is driving me crazy

  • @sachinmahajan6173
    @sachinmahajan6173 Před 4 lety

    Question : what is the significance of role

  • @user-wk8zf8sw7g
    @user-wk8zf8sw7g Před 8 měsíci +2

    hi I found this videos useful and i like the way you teach but while using your concepts while practicing i cannot use WebSecurityConfigurerAdapter class for instatiating the AuthenticationManagerBuilder later i came to knew that WebSecurityConfigurerAdapter has been deprecated and cannot be used so how can i proceed with the hands on experience kindly guide me thanks in advance for your time and consideration

    • @user-ze6zl4ux1r
      @user-ze6zl4ux1r Před 5 měsíci

      are you still looking for answer?

    • @sandeep7043
      @sandeep7043 Před 4 měsíci

      @@user-ze6zl4ux1r I am looking

    • @noyou174
      @noyou174 Před 4 měsíci

      what u found guyes help@@sandeep7043

    • @noyou174
      @noyou174 Před 4 měsíci

      i found comment down that helps :

  • @108vicky
    @108vicky Před 2 lety

    Please make tutorial on Kafka and Kafka stream ..

  • @koushik_majhi
    @koushik_majhi Před 2 lety +1

    at 8:50 the hashing password card is not appearing

  • @umbran7061
    @umbran7061 Před 3 lety +1

    Hi Koushik,
    Help me understand a bit, do I need to configure EVERY user in SecurityConfiguration ?
    What if I have 3600 users ? Do i need to configure everyone ?
    What if one changes a password ? Do I need to remake the configuration every time ?
    Thanks

    • @lequocthinh8992
      @lequocthinh8992 Před 2 lety

      good question? I have the same question, did you figure it out? thanks

    • @antoniopalumbo9862
      @antoniopalumbo9862 Před 2 lety

      I think you would most likely save the user's data in a external DB by letting them save their data through the registration process. Then, when they try to change their pw, the request would change the corresponding value in the DB. You would have to implement the methods and endpoints, but i do not think that you have to configure everything in the Configurer, unless you want to hardcode something for test purposes

  • @ayushjaiswal4449
    @ayushjaiswal4449 Před 8 měsíci +1

    websecurityconfigureradapter is now depricated

  • @rachna66644
    @rachna66644 Před 4 lety

    Dark mode in the intellij is not that viewer friendly. Else, the videos are amazing

  • @leiwang07
    @leiwang07 Před 4 měsíci +1

    This way is removed from latest Spring Boot. Maybe update the content? Thanks a lot. I love this tutorial.

    • @leiwang07
      @leiwang07 Před 4 měsíci

      new way of getting in memory authentication (SpringBoot 3.2.0):
      @Configuration
      public class SecurityConfiguration {
      @Bean
      public InMemoryUserDetailsManager userDetailsService() {
      UserDetails user = User
      .withUsername("user")
      .password("password")
      .roles("USER")
      .build();
      return new InMemoryUserDetailsManager(user);
      }
      @Bean
      public PasswordEncoder getPasswordEncoder(){
      return NoOpPasswordEncoder.getInstance();
      }
      }

  • @worldwide6626
    @worldwide6626 Před 3 lety

    What does "configure a user" mean?

  • @Aswodel
    @Aswodel Před 7 měsíci

    Is this all still up to date? Or is there a part that is outdated? Please let me know.

    • @noyou174
      @noyou174 Před 4 měsíci

      the 'WebSecurityConfigurerAdapter' is removed its outdated

  • @CHANDRU419
    @CHANDRU419 Před 4 lety +1

    Thala! Please tutorial on Spring microservices with Oauth2 and Okta authentication

    • @Java.Brains
      @Java.Brains  Před 4 lety +1

      Yup, keep following this series for Oauth2. I haven’t personally worked with Okta, but I’ll see what I can do

    • @CHANDRU419
      @CHANDRU419 Před 4 lety

      Thanks a lot ji

  • @VIKASROYv
    @VIKASROYv Před rokem

    WebSecurityConfigurerAdapter is now deprecated what is the recommended class to use now?

    • @yassinemanssour3341
      @yassinemanssour3341 Před rokem +1

      you can use this one:
      @Configuration
      public class SecurityConfiguration {
      @Bean
      public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
      http
      .authorizeHttpRequests((authz) -> authz
      .anyRequest().authenticated()
      )
      .httpBasic();
      return http.build();
      }
      }

  • @aishwaryacm461
    @aishwaryacm461 Před 2 lety

    How to disable the spring security aunthetication

  • @shubhamswaroop1102
    @shubhamswaroop1102 Před 4 lety

    How to get user from database.

  • @ayushraj-zb6sv
    @ayushraj-zb6sv Před 2 lety

    can anyone point me to good springboot learning resources for reading. I find very tough going through official documentation. thank you!

    • @ayushraj-zb6sv
      @ayushraj-zb6sv Před 2 lety

      and udemy videos also gie limited knowledge..so not udemy recommendations please.

  • @techtamiltute2705
    @techtamiltute2705 Před 4 lety +4

    The font colours are dark same as background which makes reading what's on screen very tough and almost invisible. Please take care of it... :-(

  • @chamithudinsara9557
    @chamithudinsara9557 Před 4 měsíci

    🥰😍

  • @1992supergamefreak
    @1992supergamefreak Před 4 lety

    In spite of extending WebSecurityConfigurerAdapter and overriding configure(AuthenticationManagerBuilder auth), the application is starting eith default password.

    • @sarathpraju
      @sarathpraju Před 3 lety

      stackoverflow.com/questions/43868329/custom-security-is-not-working-when-extending-the-websecurityconfigureradapter-c

  • @rishi2567
    @rishi2567 Před rokem

    WebSecurityConfigurerAdapter is deprecated now

  • @myharsh271
    @myharsh271 Před 4 lety

    u explain very slowly if u can speed up a bit too we will not mind.rest u are great no doubt.love n respect.

    • @pleasethink4789
      @pleasethink4789 Před 3 lety

      A kind suggestion: You can view any video presented faster by setting your video playback speed to 1.25, 1.5, etc within the youtube app/page setting.

  • @dineshsolanki1666
    @dineshsolanki1666 Před 3 lety

    It is time you show us how production applications are made

  • @jackbenimble999
    @jackbenimble999 Před 19 dny

    Is there any code/github link?

  • @ok6571234
    @ok6571234 Před 4 lety

    Use default mode...hard to see in dark mode....

  • @razatech22
    @razatech22 Před 4 lety

    gives "Bad Credentials" after entering the configured in-memory username and password

    • @sarathpraju
      @sarathpraju Před 3 lety +1

      stackoverflow.com/questions/43868329/custom-security-is-not-working-when-extending-the-websecurityconfigureradapter-c

  • @shivamgouri5820
    @shivamgouri5820 Před 4 lety

    Getting this error with all the changes done " This application has no explicit mapping for /error, so you are seeing this as a fallback. "

    • @bishwajitvikram3794
      @bishwajitvikram3794 Před 4 lety

      Check your controller class once, what mapping have you given for it.

  • @mostinho7
    @mostinho7 Před 4 lety

    2:26 using AuthenticationManagerBuilder to configure AuthenticationMamager
    Extending websecurityconfigureradapter

  • @menoktaokan
    @menoktaokan Před 3 lety

    Thank you so much.
    Çalıştıramayan arkadaşım olursa yardımcı olurum.

  • @JohnWick-zc5li
    @JohnWick-zc5li Před 4 lety

    why memory man?

  • @erenyeager4452
    @erenyeager4452 Před rokem +2

    Incase someone is facing issues with the code not running properly use this code:
    @Configuration
    public class SecurityConfiguration {
    @Bean
    public InMemoryUserDetailsManager userDetailService() {
    UserDetails user = User.builder()
    .username("blah")
    .password("{noop}blah")
    .roles("USER")
    .build();
    return new InMemoryUserDetailsManager(user);
    }
    }

  • @emperorschosen1231
    @emperorschosen1231 Před 3 lety

    If you not able to use NoOpPasswordEncoder.getInstance(), then use the special construction nearby password : .password("{noop}bar"). {noop} delegate to NoOpPasswordEncoder

  • @szLynAs
    @szLynAs Před 4 lety

    Misleading title

  • @alexkolchev2588
    @alexkolchev2588 Před 2 lety

    These videos have no real-world application whatsoever. I just wasted 13 minutes waiting for something that actually makes sense to happen.

  • @user-qq5od8ns2h
    @user-qq5od8ns2h Před 4 lety

    vary bad