Почему этот Spring Rest API применяет имя пользователя, а не пароль - PullRequest
0 голосов
/ 21 сентября 2018

когда я использую почтальон для отправки запроса на получение

`http://localhost:8080/students/

Если я использую учетные данные admin1 123, я получаю ошибку 401.

Если я использую учетные данные admin 123, запрос возвращает список пользователей.

Если я использую учетные данные admin 1234, запрос также возвращает список пользователей.

я правильно не проверяю пароль?

      @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {

        @Bean
        @Override
        public UserDetailsService userDetailsService() {
            UserDetails user = User.withDefaultPasswordEncoder()
                    .username("admin")
                    .password("123")
                    .roles("ADMIN")
                    .build();
            return new InMemoryUserDetailsManager(user);
        }

        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.httpBasic().and().authorizeRequests()
                    .antMatchers("/user/**").hasRole("ADMIN")
                    .and().csrf().disable().headers().frameOptions().disable();
        }
    }


    @RestController
public class StudentResource {

    @Autowired private StudentRepository studentRepository;

    @GetMapping("/students")
    public List<Student> retrieveAllStudents() {
        return studentRepository.findAll();
    }

}

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Bean
    @Override
    public UserDetailsService userDetailsService() {
        UserDetails user = User.withDefaultPasswordEncoder()
                .username("admin")
                .password("123")
                .roles("ADMIN")
                .build();
        return new InMemoryUserDetailsManager(user);
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.httpBasic().and().authorizeRequests()
                .antMatchers("/user/**").hasRole("ADMIN")
                .and().csrf().disable().headers().frameOptions().disable();
    }
}

@Repository
public interface StudentRepository extends JpaRepository<Student, Long> {

}


data.sql
        insert into student
        values(10001,'Ranga', 'E1234567');

        insert into student

1 Ответ

0 голосов
/ 21 сентября 2018

Путь в контроллере не совпадает с путем в конфигурации.

...