springauthenticationuserdetailsservice

Spring JDBC Authentication vs LoadUserByName Differences


Im new on spring security and I had some research on authentication ,I saw two options there are some guys posted.First one Jdbc authentication or In memory authentication ,and there are also loadUserByName(UserDetailService). what is difference between them ,and also what is use case of loadUserByName (UserDetailService)


Solution

  • This is the official reference https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#jc-authentication

    For In Memory Authentication, you have a set of username-password pair hard-coded in your xml/java config class.

    In jdbc authentication, you can have a direct database contact to fetch users and authorities, provided you have configured a datasource

    You can define custom authentication by exposing a custom UserDetailsService as a bean. You can do whatever functionality to return an instance of UserDetails in loadUserByUsername(). This method is called implicitly to authenticate a user, when creating an authentication.