I am developing rest APIs in Spring Boot. I am able to do CRUD operations and postman gives correct responses, but when I add Spring Security username and password Postman gives 401 Unauthorized.
I have provided a spring boot security username and password as below.
application.proptries
spring.jpa.hibernate.ddl-auto=update spring.datasource.platform=mysql spring.datasource.url=jdbc:mysql://localhost:3306/pal?createDatabaseIfNotExist=true spring.datasource.username=root spring.datasource.password= spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect spring.security.user.name=root spring.security.user.password=root I have done basic auth with username as root and password as root. Preview request gives headers updated successfully message :

EDIT I have deleted the cookies in postman but still facing the same issue
SecurityConfing.java My Security Configuration are as below. import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @Configuration @EnableWebSecurity @Order(1000) public class SecurityConfig extends WebSecurityConfigurerAdapter{ public void configureGlobal(AuthenticationManagerBuilder authenticationMgr) throws Exception { authenticationMgr.jdbcAuthentication().dataSource(dataSource()) .usersByUsernameQuery( "select email,password from user where email=? and statusenable=true") .authoritiesByUsernameQuery( "select email,role from user where email=? and statusenable=true"); System.out.println(authenticationMgr.jdbcAuthentication().dataSource(dataSource()) .usersByUsernameQuery( "select email,password from user where email=? and statusenable=true") .authoritiesByUsernameQuery( "select email,role from user where email=? and statusenable=true")); } @Bean(name = "dataSource") public DriverManagerDataSource dataSource() { DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource(); driverManagerDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); driverManagerDataSource.setUrl("jdbc:mysql://localhost:3306/pal"); driverManagerDataSource.setUsername("root"); driverManagerDataSource.setPassword(""); return driverManagerDataSource; } @Override protected void configure(HttpSecurity http) throws Exception { http .csrf().disable() .authorizeRequests().antMatchers("/login").permitAll() .anyRequest().authenticated() .and() .formLogin().loginPage("/login").permitAll() .and() .authorizeRequests().antMatchers("/admin/**").hasAnyRole("ROLE_ADMIN","ROLE_USER").anyRequest().permitAll() .and() .authorizeRequests().antMatchers("/user/**").hasAnyRole("ROLE_USER").anyRequest().permitAll(); }
Источник: https://stackoverflow.com/questions/547 ... authorized