The basic framework is created already. 1. JWT Auth 2. Hello Rest API. now, it will be good time to switch to database based user authorization. we use customized userDetailService instead of default in memeory user services. Replace InMemeory UserDetailService as DaoUserDetallService @Autowired private UserDetailsService userDetailService ; @Autowired public void globalUserDetails (AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService( userDetailService ) ; } and create new class of it: @Primary @Service public class DaoUserDetailServices implements UserDetailsService { @Autowired private PasswordEncoder bCryptPasswordEncoder ; @Override public UserDetails loadUserByUsername (String name) throws UsernameNotFoundException { if (name.equals( "admin" )) { return new UserPrincipal(name , bCryptPasswordEncoder .encode( "password" ) , "ADMIN" ) ; } else if