Пример кода входа в систему при весенней загрузке Java с помощью thymeleaf - PullRequest
0 голосов
/ 12 сентября 2018

Недавно я нашел пример простой регистрации и входа в систему при весенней загрузке.Код можно найти здесь: https://github.com/sambaf/NHSystem

Однако я не могу использовать тимелеф в своем проекте, и мне нужна функциональность этого проекта - мой вопрос: как, черт возьми, обрабатывается логин внутри кода?Если я удаляю зависимость от тимьяна в maven, логин не будет работать.Если мы посмотрим внутрь контроллера входа в систему:

@Controller
public class IndexController {


@GetMapping("/")
public String showIndexPage() {

    return "index";  
}

@GetMapping("/login") 
public String showLoginForm() {

    return "views/loginForm";  
}

 }

нет проверки password&login!Как это работает?Я просто хотел сделать этот проект без использования thymeleaf.

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Вы можете проверить код внутри SecurityConfig

, в этих строках он / она реализовал логику входа в систему:

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.jdbcAuthentication().dataSource(dataSource)
        .usersByUsernameQuery("select email as principal, password as credentails, true from user where email=?")
        .authoritiesByUsernameQuery("select user_email as principal, role_name as role from user_roles where user_email=?")
        .passwordEncoder(passwordEncoder()).rolePrefix("ROLE_");  

    }

И он / она реализовал эти строки дляуказание предоставленных учетных данных пользователя.

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

        http.authorizeRequests().antMatchers("/register", "/", "/about", "/login", "/css/**", "/webjars/**").permitAll()
                .antMatchers("/profile").hasAnyRole("USER,ADMIN")
                .antMatchers("/users","/addTask").hasRole("ADMIN")
                .and().formLogin().loginPage("/login").permitAll()
                .defaultSuccessUrl("/profile").and().logout().logoutSuccessUrl("/login");
    }

, более конкретно .formLogin().loginPage("/login").permitAll()

Наконец, давайте приступим к решению вашей проблемы.Это не связано тимьяна.Вам необходимо создать страницу входа, которая отправлена ​​на /login.

Эта логика входа в систему о Spring Security

0 голосов
/ 12 сентября 2018

Для создания HTML-форм вам необходимо использовать любую технологию Views вместо thymeleaf:

  1. JSP
  2. JSTL
  3. Скорость
  4. XSLT
  5. JSF
  6. Распорки
  7. Гобелен

и т. Д.

См. Пружинная документация и examples

PS Также вы можете сгенерировать HTML-форму в коде Java, используя Java Servlet (см. пример ), но этодовольно старые и странные способы создания HTML-формы, и я не могу рекомендовать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...