Wysyłanie pliku na serwer przez Spring Security i zabezpieczenie CSRF

0

Posiadam w serwisie formularz za pomocą którego przesyłam na serwer plik.

<form th:action="@{/user/settings/changeBasicData}" th:object="${changeBasicDataDTO}" method="POST"
                          class="form-horizontal" role="form" enctype="multipart/form-data">
                        <!-- left column -->
                        <div class="col-md-4 col-sm-6 col-xs-12">
                            <div class="text-center">
                                <img id="avatar" th:src="@{${session.user.getUrlAvatar()}}"
                                     class="avatar img-circle img-thumbnail" alt="avatar">
                                <h6>Upload a different photo...</h6>
                                <input th:name="multipartFile" type="file" class="text-center center-block well well-sm">
                            </div>
                        </div>
                        <!-- edit form column -->
                        <div class="col-md-8 col-sm-6 col-xs-12 personal-info">
                               ............                             
                        </div>
                            <div class="form-group">
                                <label class="col-md-3 control-label"></label>
                                <div class="col-md-8">
 
                                    <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
                                    <button type="submit" class="btn btn-success btn-lg" id="btnSignIn">
                                        Save Changes
                                    </button>
                                    <span></span>
                                    <input class="btn btn-default" value="Cancel" type="reset">
                                </div>
                            </div>
                        </div>
                    </form>

Jak widać mam wpisaną regułkę

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>

mimo to podczas wysyłania pliku strona wyrzuca

Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.

Wspomnę, że np logowanie i rejestracja normalnie przechodzi. A formularz, który przesyła pik już nie działa.

0

A sprawdzałeś czy CSRF jest w ogóle wysyłany razem z requestem?
Probowałeś dodać go do sekcji head?

0

Wysyłasz formularz ajaxem?

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