How to configure Spring Security Authentication - Java Brains

Поділитися
Вставка
  • Опубліковано 30 чер 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

КОМЕНТАРІ • 161

  • @jennymercy5869
    @jennymercy5869 Рік тому +48

    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 6 місяців тому +2

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

    • @ashishkarn9283
      @ashishkarn9283 20 днів тому

      @@someone-pv9fo create bean of SecurityFilterChain. Maybe this comment is not for you but for the people still getting frustrated.

  • @katiesun1533
    @katiesun1533 4 роки тому +15

    👍Can not wait to watch next video!

  • @nursd6628
    @nursd6628 4 роки тому +7

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

  • @go_better
    @go_better Рік тому +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 Рік тому

      True

    • @rohitkapade1130
      @rohitkapade1130 Рік тому

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

    • @gyanstudy6197
      @gyanstudy6197 Рік тому

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

  • @asifiqbal6093
    @asifiqbal6093 4 роки тому +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  4 роки тому +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 4 роки тому

      @@Java.Brains 😀😃😄

  • @varghesethomas3684
    @varghesethomas3684 4 роки тому

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

  • @rajendrasahu855
    @rajendrasahu855 4 роки тому +3

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

  • @kaleemullahnizamani7436
    @kaleemullahnizamani7436 4 роки тому +81

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

    • @TheAlvaroHabbo
      @TheAlvaroHabbo 4 роки тому +1

      yes please!!

    • @juileekharat
      @juileekharat 4 роки тому +1

      Yes Yes Please!!

    • @AvinashKumar-mh6si
      @AvinashKumar-mh6si 3 роки тому

      Please do, If possible..

    • @mratanusarkar
      @mratanusarkar 3 роки тому

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

    • @minefacex
      @minefacex 3 роки тому +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

  • @ravimukti690
    @ravimukti690 4 роки тому

    simple clear explanation, thanks for this

  • @LawZist
    @LawZist 4 роки тому

    Thanks for the great tutorial!

  • @Ravikirankada
    @Ravikirankada 4 роки тому +15

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

  • @bachchaparty2220
    @bachchaparty2220 24 дні тому

    Thank You So much Sir for changing my life.😇🙏🙌💐 You are brilliant ❤🥰
    I will be very very thankful to you Sir 🙏

  • @ChristianAltamiranoAyala
    @ChristianAltamiranoAyala 4 роки тому +18

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

    • @varghesethomas3684
      @varghesethomas3684 4 роки тому +4

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

  • @vinoderramsetty1093
    @vinoderramsetty1093 4 роки тому

    Thank you for sharing this video!!

  • @MrEvmk
    @MrEvmk 3 роки тому +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()

  • @zidrexandag06
    @zidrexandag06 3 роки тому

    Thanks for this tutorial. I learned a lot

  • @mssures
    @mssures Рік тому

    Superb! great explanation! Thank you.

  • @InquisitorEmir
    @InquisitorEmir 3 роки тому +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!!!

  • @sandeepshingne4057
    @sandeepshingne4057 4 роки тому +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 😊

  • @RAJESHKUMAR-jh6bq
    @RAJESHKUMAR-jh6bq 4 роки тому

    Superb explanation sir

  • @AhamedKabeer-wn1jb
    @AhamedKabeer-wn1jb 3 роки тому

    Thank you sir..Well explained

  • @pshembekar
    @pshembekar 3 роки тому

    Excellent explanation

  • @parvezahmed5287
    @parvezahmed5287 Рік тому +1

    it is mandatory that to say that u r very genious

  • @LalitKumar-cw9rf
    @LalitKumar-cw9rf Рік тому

    Wow man you teach amazing

  • @jvmadhav1987
    @jvmadhav1987 4 роки тому +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  4 роки тому +5

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

    • @read.act.transform
      @read.act.transform Рік тому

      This was much needed... thank you.

  • @CHANDRU419
    @CHANDRU419 4 роки тому +3

    Dheivamae! Neenga dhaan en thala!

  • @MrMikomi
    @MrMikomi 3 роки тому

    Very nice thanks.

  • @tusharkadu5896
    @tusharkadu5896 4 роки тому +2

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

  • @SawanKumar-yg1em
    @SawanKumar-yg1em Рік тому +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.

  • @imanuelronaldo10
    @imanuelronaldo10 4 роки тому

    Awesomeee!!!!

  • @lukab96
    @lukab96 3 роки тому

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

  • @akalankagamage8112
    @akalankagamage8112 4 роки тому +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 6 місяців тому

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

    • @hotuankiet7530
      @hotuankiet7530 6 місяців тому

      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.

  • @kaleemullahnizamani7436
    @kaleemullahnizamani7436 4 роки тому +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  4 роки тому +4

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

  • @sahuvaibhav
    @sahuvaibhav 4 роки тому

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

  • @leiwang07
    @leiwang07 6 місяців тому +1

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

    • @leiwang07
      @leiwang07 6 місяців тому

      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();
      }
      }

  • @karkiashwin1174
    @karkiashwin1174 4 роки тому

    Big fan :D

  • @weirdhat922
    @weirdhat922 4 роки тому +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

  • @johnpeter7832
    @johnpeter7832 3 роки тому +1

    For postman you have to disable csrf and use basic authentication

  • @praveenellaiyan
    @praveenellaiyan 4 роки тому

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

    • @Java.Brains
      @Java.Brains  4 роки тому

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

  • @subramanianchenniappan4059
    @subramanianchenniappan4059 3 роки тому

    Thanks bro

  • @br4676
    @br4676 4 роки тому

    thanks sir

  • @jagdishrawat8841
    @jagdishrawat8841 4 роки тому

    Big fan

  • @eswararaoravada2895
    @eswararaoravada2895 4 роки тому +1

    Sir, could you please make videos on Design Patterns

  • @NotNotNithin
    @NotNotNithin 4 роки тому +1

    Please demonstrate Spring Security Using Kerberos.😁

  • @elenazaytseva9196
    @elenazaytseva9196 4 роки тому +1

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

    • @Java.Brains
      @Java.Brains  4 роки тому +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 4 роки тому +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!

  • @melsaied101
    @melsaied101 4 роки тому

    Thanks

  • @manideepkumar959
    @manideepkumar959 4 роки тому +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

  • @susobhandas2593
    @susobhandas2593 4 роки тому +3

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

  • @patchipulusunaresh8682
    @patchipulusunaresh8682 4 роки тому +2

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

  • @coderkorleone7830
    @coderkorleone7830 2 роки тому

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

  • @AmbarDudhane
    @AmbarDudhane 3 роки тому

    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?

  • @AvinashKumar-mh6si
    @AvinashKumar-mh6si 3 роки тому

    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.

  • @rachna66644
    @rachna66644 4 роки тому

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

  • @user-wk8zf8sw7g
    @user-wk8zf8sw7g 10 місяців тому +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 7 місяців тому

      are you still looking for answer?

    • @sandeep7043
      @sandeep7043 6 місяців тому

      @@user-ze6zl4ux1r I am looking

    • @noyou174
      @noyou174 6 місяців тому

      what u found guyes help@@sandeep7043

    • @noyou174
      @noyou174 6 місяців тому

      i found comment down that helps :

  • @AbhishekSharma7
    @AbhishekSharma7 4 роки тому

    Can you please share a tutorial to integrate JWT

  • @salbinantony_c
    @salbinantony_c 4 роки тому

    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  4 роки тому

      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 4 роки тому

      @@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.

  • @CHANDRU419
    @CHANDRU419 4 роки тому +1

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

    • @Java.Brains
      @Java.Brains  4 роки тому +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 4 роки тому

      Thanks a lot ji

  • @chaitraps6433
    @chaitraps6433 4 місяці тому

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

  • @akashjiet
    @akashjiet 2 роки тому

    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.

  • @umbran7061
    @umbran7061 3 роки тому +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 2 роки тому

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

    • @antoniopalumbo9862
      @antoniopalumbo9862 2 роки тому

      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

  • @USONOFAV
    @USONOFAV 4 роки тому

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

  • @ianokay
    @ianokay Рік тому

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

  • @sdmj730
    @sdmj730 4 роки тому

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

  • @pradeepkumar-ew1ze
    @pradeepkumar-ew1ze 4 роки тому

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

  • @ClaudioRowe
    @ClaudioRowe 3 роки тому

    which ide do you use?

  • @vishnuvarhan693
    @vishnuvarhan693 Рік тому +1

    WebSecurityConfigurerAdapter() is deprecated please update

  • @108vicky
    @108vicky 2 роки тому

    Please make tutorial on Kafka and Kafka stream ..

  • @priyabratmohapatra8660
    @priyabratmohapatra8660 Рік тому

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

  • @nahidchowdhury53
    @nahidchowdhury53 4 роки тому

    How can I call it using postman for basic auth.

  • @sachinmahajan6173
    @sachinmahajan6173 4 роки тому

    Question : what is the significance of role

  • @myharsh271
    @myharsh271 4 роки тому

    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 3 роки тому

      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.

  • @ashishkumar-sw2dy
    @ashishkumar-sw2dy 4 роки тому

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

  • @thisisnimish3thisisnimish39
    @thisisnimish3thisisnimish39 3 роки тому

    why did you shift from Eclipse to InteliJ?

  • @pratiklohar4566
    @pratiklohar4566 4 місяці тому

    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.

  • @techtamiltute2705
    @techtamiltute2705 4 роки тому +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... :-(

  • @ayushjaiswal4449
    @ayushjaiswal4449 10 місяців тому +1

    websecurityconfigureradapter is now depricated

  • @deepnamdev5744
    @deepnamdev5744 Рік тому

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

  • @koushik_majhi
    @koushik_majhi 2 роки тому +1

    at 8:50 the hashing password card is not appearing

  • @dineshsolanki1666
    @dineshsolanki1666 3 роки тому

    It is time you show us how production applications are made

  • @1992supergamefreak
    @1992supergamefreak 4 роки тому

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

    • @sarathpraju
      @sarathpraju 4 роки тому

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

  • @MandeepSharmaAtrish
    @MandeepSharmaAtrish 4 місяці тому

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

  • @VIKASROYv
    @VIKASROYv Рік тому

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

    • @yassinemanssour3341
      @yassinemanssour3341 Рік тому +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();
      }
      }

  • @Aswodel
    @Aswodel 9 місяців тому

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

    • @noyou174
      @noyou174 6 місяців тому

      the 'WebSecurityConfigurerAdapter' is removed its outdated

  • @ayushraj-zb6sv
    @ayushraj-zb6sv 3 роки тому

    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 3 роки тому

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

  • @worldwide6626
    @worldwide6626 3 роки тому

    What does "configure a user" mean?

  • @chamithudinsara9557
    @chamithudinsara9557 6 місяців тому

    🥰😍

  • @shivamgouri5820
    @shivamgouri5820 4 роки тому

    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 4 роки тому

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

  • @razatech22
    @razatech22 4 роки тому

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

    • @sarathpraju
      @sarathpraju 4 роки тому +1

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

  • @aishwaryacm461
    @aishwaryacm461 2 роки тому

    How to disable the spring security aunthetication

  • @mostinho7
    @mostinho7 4 роки тому

    2:26 using AuthenticationManagerBuilder to configure AuthenticationMamager
    Extending websecurityconfigureradapter

  • @shubhamswaroop1102
    @shubhamswaroop1102 4 роки тому

    How to get user from database.

  • @emperorschosen1231
    @emperorschosen1231 3 роки тому

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

  • @rishi2567
    @rishi2567 Рік тому

    WebSecurityConfigurerAdapter is deprecated now

  • @jackbenimble999
    @jackbenimble999 2 місяці тому

    Is there any code/github link?

    • @jackbenimble999
      @jackbenimble999 2 місяці тому

      ua-cam.com/video/TNt3GHuayXs/v-deo.html

  • @menoktaokan
    @menoktaokan 4 роки тому

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

  • @ok6571234
    @ok6571234 4 роки тому

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

  • @JohnWick-zc5li
    @JohnWick-zc5li 4 роки тому

    why memory man?

  • @szLynAs
    @szLynAs 4 роки тому

    Misleading title

  • @alexkolchev2588
    @alexkolchev2588 2 роки тому

    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 4 роки тому

    vary bad