SpringBoot 2.1.5.RELEASE - Thymeleaf - Страница входа

У меня есть базовое приложение SpringBoot 2.1.5.RELEASE. Использование Spring Initializer, JPA, встроенного Tomcat, механизма шаблонов Thymeleaf и пакета в виде исполняемого файла JAR.

У меня был этот шаблон Thymeleaf, который нормально работает с логином

 <form id="loginForm" th:action="@{/login}" method="post">

            <div class="input_label"><i class="fa fa-user"></i><input type="text" id="usernameId"   name="username" th:attr="placeholder=#{login.user.placeholder}"  /></div>
            <div class="input_label"><i class="fa fa-key"></i><input type="text" name="password" placeholder="Password"  /></div>

            <input type="submit" value="LOGIN" />

</form>

Что я заменяю на этот другой:

<form id="loginForm" th:action="@{/login}" method="post">
              <div class="form-group">
                <div class="input-group">
                  <div class="input-group-prepend"><i class="icon s7-user"></i></div>
                  <input class="form-control" id="username" name="username" type="text" th:attr="placeholder=#{login.user.placeholder}" autocomplete="off" />                  
                </div>
              </div>
              <div class="form-group">
                <div class="input-group">
                  <div class="input-group-prepend"><i class="icon s7-lock"></i></div>
                  <input class="form-control" id="password" name="password" type="password" placeholder="Password">
                </div>
              </div>
              <div class="form-group login-submit">
                <a class="btn btn-lg btn-primary btn-block" th:href="@{/login}" data-dismiss="modal">Login</a>
              </div>                
              <div class="form-group row login-tools">
                <div class="col-sm-6 login-remember">
                  <label class="custom-control custom-checkbox mt-2">
                    <input class="custom-control-input" type="checkbox"><span class="custom-control-label">Remember me</span>
                  </label>
                </div>
                <div class="col-sm-6 pt-2 text-sm-right login-forgot-password"><a href="pages-forgot-password.html">Forgot Password?</a></div>
              </div>
            </form>

Но даже вроде с аутентификацией все в порядке, вот консоль:

2019-05-22 15:09  [http-nio-2233-exec-8] DEBUG o.s.s.w.a.i.FilterSecurityInterceptor.authenticateIfRequired(348) - Previously Authenticated: org.springframework.security.authentication.AnonymousAuthenticationToken@afd2c118: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@ffff4c9c: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: DD587EDE4D70B2AC1D1609FD3553FB31; Granted Authorities: ROLE_ANONYMOUS
2019-05-22 15:09  [http-nio-2233-exec-8] DEBUG o.s.s.access.vote.AffirmativeBased.decide(66) - Voter: org.springframework.security.web.access.expression.WebExpressionVoter@976c509, returned: 1
2019-05-22 15:09  [http-nio-2233-exec-8] DEBUG o.s.s.w.a.i.FilterSecurityInterceptor.beforeInvocation(243) - Authorization successful
2019-05-22 15:09  [http-nio-2233-exec-8] DEBUG o.s.s.w.a.i.FilterSecurityInterceptor.beforeInvocation(256) - RunAsManager did not change Authentication object

Приложение не перенаправляет на страницу, которую я настроил в файле конфигурации

  @Override
    protected void configure(HttpSecurity http) throws Exception {


        http
                .authorizeRequests()
                .antMatchers(publicMatchers()).permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin().loginPage("/login").defaultSuccessUrl("/bonanza/all")
                .failureUrl("/login?error").permitAll()
                .and()
                .logout().permitAll();
    }

не думайте, что <a class="btn btn-lg btn-primary btn-block" th:href="@{/login}" data-dismiss="modal">Login</a> отправляет вашу форму

Dirk Deyne 22.05.2019 15:29
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Введение в технологический стек Twitch
Введение в технологический стек Twitch
В этой статье мы подробно рассмотрим стек Twitch, который подразделяется на следующий набор технологий:
8 полезных HTML-тегов, которые лучше использовать вместо <div>
8 полезных HTML-тегов, которые лучше использовать вместо <div>
Когда я только начинал изучать html, я использовал div для всего, это был один из первых тегов, которые я выучил, и казалось, что он работает в любой...
HTML5: API локального хранилища (Local Storage)
HTML5: API локального хранилища (Local Storage)
LocalStorage - это простой способ хранения данных в браузере пользователя.
Доступность HTML - программирование с инклюзивной перспективой
Доступность HTML - программирование с инклюзивной перспективой
Представьте, что вы хотите поехать на пляж. Представьте, что вы упорно трудились весь год и заслужили это. Прибыв на место, вы обнаруживаете, что...
0
1
111
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как сказано в комментарии, вам нужно что-то, что может отправить вашу форму. Как ввод в первом примере, который вы предоставили.

Вывод консоли обманчив, вы аутентифицированы как «анонимный».

Другие вопросы по теме

Остановить веб-сервис, если я изменю критерии поиска?
Spring Отключить @Transactional из java-файла конфигурации
Исключение при создании толстой банки для весеннего загрузочного приложения, которое зависит от другого проекта
Как я могу протестировать свой класс JwtAuthentication с помощью JUnit и Mockito?
Использование коллекторов для группировки по одному полю, подсчета и добавления другого значения поля
Как с помощью Spring Security перенаправить зарегистрированного пользователя на его главную страницу, а незарегистрированного пользователя на другую
Axon Как я могу добавить прослушиватель/перехватчик событий для перехвата событий до того, как они достигнут своих обработчиков?
Как решить ошибку HHH000346, используя hibernate 5 и mysql?
Ожидаемое значение выражения jsonPath, но возвращаемый список значений
Как выполнить модульное тестирование (вставить) уровень поставщика данных в Spring Framework?