Logowanie za pomocą Postmana w Springowej aplikacji

0

Cześć,
mam zaimplementowane logowanie wykorzystując Springowy interface UserDetailsService. Nie rozumiem czemu gdy loguje się do aplikacji za pomocą UI napisanego w Thymeleaf logowanie działa jak najbardziej. W momencie gdy chce zalogować poprzez Postmana już nie. Nie mogę dotrzeć do tej magii Springowej i zrozumieć jak to zapytanie z Thymeleaf jest procesowane.
Tak wygląda mój formularz w Thymeleaf

    <form th:action="@{/login}" th:object="${employee}" method="post">
        <div class="row">
            <div class="col-sm-6 offset-sm-3">
                <div class="form-group">
                    <label for="loginEmail">Login</label>
                    <input th:field="*{username}" type="text" class="form-control" id="loginEmail"
                           aria-describedby="emailHelp" autocomplete="off" placeholder="Login"/>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-6 offset-sm-3">
                <div class="form-group">
                    <label for="loginPassword">Hasło</label>
                    <input th:field="*{password}" type="password" class="form-control" id="loginPassword"
                           placeholder="Hasło" autocomplete="off"/>
                </div>
            </div>
        </div>


        <div class="row">
            <div class="col-sm-6 offset-sm-3">
                <div class="form-group text-right">
                    <button type="submit" class="btn btn-success">Zaloguj</button>
                </div>
            </div>
        </div>

    </form>

Natomiast tak wygląda konfiguracja Security

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/webjars/**", "/").permitAll()
                .and()
                .headers().frameOptions().disable()
                .and()
                .csrf().disable()
                .authorizeRequests()
                .antMatchers("/orderList", "/addNewProduct", "/addCategory", "/h2/**").hasRole("OWNER")
                .and()
                    .formLogin()
                    .loginPage("/login").permitAll()
                    .successHandler(loginSuccessHandler())
                    .failureHandler(loginFailureHandler())
                .and()
                .logout().permitAll()
                .logoutSuccessUrl("/");
    }

    private AuthenticationSuccessHandler loginSuccessHandler() {
        return (request, response, authentication) -> response.sendRedirect("/orderList");
    }

    private AuthenticationFailureHandler loginFailureHandler() {
        return (request, response, exception) -> {
            request.getSession().setAttribute("loginError", true);
            response.sendRedirect("/login");
        };
    }

W momencie gdy się loguję przez aplikację w przeglądarce w debugu poprawnie ładuje mi user name
screenshot-20180427000510.png
Jednak gdy robię to samo (przynajmniej tak mi się wydaje, że to samo, że tak to zapytanie wygląda) w Postmanie username jest pusty
screenshot-20180427000648.png
W Postmanie zapytanie wysyłam tak
screenshot-20180427000743.png
Nie wiem czy przez Postmana to źle robię, czy może problem leży w zupełnie innym miejscu.
Poproszę o wskazówki.

0

Cześć.
Pokaż kod kontrolera restowego, który przyjmuje tego jsona

0

W Headers masz contentType: application/json albo contentType: text/json?

0

A próbowałeś wysłać Basic auth postmanem ?

2

Dlaczego wysyłasz jsona skoro masz na stronie formularz? Ustaw Body na form-data i tam wprowadź login i password

1 użytkowników online, w tym zalogowanych: 0, gości: 1