Проблема с аутентификацией при загрузке Spring - всегда перенаправляется на / login

У меня проблемы с Spring Security. Я хочу переопределить встроенную конечную точку /login из spring, чтобы иметь возможность загружать страницу mylogin.html, которая находится в resources/templates/mylogin.html. Я думаю, что эта проблема связана с приведенным ниже кодом. Кроме того, класс снабжен аннотацией @EnableWebSecurity.

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

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable();
    //The pages does not require login
    http.authorizeRequests().antMatchers("/","/welcome","logout").permitAll();
    // /userInfo page requires login as ROLE_ADMIN, ROLE_DOCTOR, ROLE_PATIENT
    http.authorizeRequests().antMatchers("/userInfo").access("hasAnyRole('ROLE_ADMIN','ROLE_DOCTOR','ROLE_PATIENT')");
    //For ADMIN only
    http.authorizeRequests().antMatchers("/admin").access("hasRole('ROLE_ADMIN')");
    http.authorizeRequests().and().exceptionHandling().accessDeniedPage("/403");
    //Config for Login Form
    http.authorizeRequests().anyRequest()
            .authenticated()
            .and()
            .formLogin()
            .loginPage("/mylogin.html")
            .permitAll(true)
            .and()
            .logout()
            .logoutSuccessUrl("/mylogin.html?logout")
            .permitAll();code here
}

Кто-нибудь может мне помочь?

У меня похожая проблема. Вы нашли решение этого?

Lucky Luke 30.06.2018 21:00
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
571
1

Ответы 1

Советую воспользоваться библиотекой spring-boot-starter-thymeleaf. Ты можешь сделать

.loginPage("/login")

Затем с помощью Spring Controller вы можете перехватить запрос / login в методе. В этом методе возврат «mylogin» перенаправит пользователя на страницу mylogin.html.

Пример здесь: https://github.com/cihangir-mercan/spring-boot/

Спасибо, попробую!

pcCC28 20.05.2018 12:23

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