Настройте Spring Security для приема данных для входа из тела POST вместо параметров запроса - PullRequest
0 голосов
/ 27 июня 2019

Я создаю приложение rest, используя Spring boot и Spring security.В модуле входа в систему я хочу, чтобы мой код считывал имя пользователя и пароль, отправленные клиентом, из тела сообщения.Но мой код читает только с URL, как запрос Get.

Я попытался сделать запрос от Почтальона.Установите метод как Post.Когда я устанавливаю имя пользователя и пароль в поле параметра запроса.Я получаю "200 ok", но когда я отправляю параметры как json в запросе Post, я получаю 401 unauthorized.Какие изменения конфигурации мне нужно сделать?

моя конфигурация безопасности Spring:

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http.
                authorizeRequests()
                .antMatchers("/").permitAll()
                .antMatchers("/login").permitAll()
                .antMatchers("/registration").permitAll()
                .antMatchers("/admin/**").hasAuthority("Admin")
                .antMatchers("/db").hasAuthority("DBA")
                .antMatchers("/user").hasAuthority("USER").anyRequest()
                .authenticated().and().csrf().disable().formLogin()
                .loginPage("/login")
                .failureHandler(customFailureHandler)
                .successHandler(customSuccessHandler)
                .usernameParameter("username")
                .passwordParameter("password")
                .and().logout()
                .logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
                .logoutSuccessUrl("/").and().exceptionHandling().authenticationEntryPoint(authenticationEntryPoint)
                .accessDeniedPage("/access-denied");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...