Безопасность весны не приземляется на пользовательский логин - PullRequest
0 голосов
/ 04 июля 2018

Мне интересно, как я должен создавать пользовательскую страницу входа. Нужно ли явно создавать для нее контроллер? если так, как бы я это сделал?

вот мой текущий файл конфигурации безопасности

@Override
    protected void configure(HttpSecurity http) throws Exception {
        //requests for /stats page has ADMIN privileges only
        http.authorizeRequests().antMatchers("/stats").hasRole("ADMIN")
                .and().formLogin().loginPage("/login");
        //everything else ADMIN and USERS can see
        http.authorizeRequests().antMatchers("/").hasAnyRole("ADMIN","USER")
                .and().formLogin().loginPage("/login");
        http.authorizeRequests().antMatchers("/register").permitAll();          
    }
    @Autowired
    DataSource dataSource;

    @Autowired
    public void configAuthentication(AuthenticationManagerBuilder auth) throws Exception {
        auth.jdbcAuthentication().dataSource(dataSource)
            .passwordEncoder(passwordEncoder());
    }

    @Bean
    public PasswordEncoder passwordEncoder() {
         return new BCryptPasswordEncoder();
    }
}

и моя временная страница входа (просто тестирую, чтобы увидеть, что мы можем туда попасть)

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 5 Transitional//EN" "http://www.w3.org/TR/html5/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Login</title>
    </head>
    <body>
        <form name="login" action="login" method="POST">
            <label>
                Username:
                <input type="text" placeholder="username" required>
            </label>
        </form>
    </body>
</html>

проблема сейчас заключается в том, что всякий раз, когда я пытаюсь получить доступ к любой странице, я получаю следующую ошибку

There was an unexpected error (type=Not Found, status=404).
No message available

Редактировать: Попытка зарегистрировать представление с использованием руководств в комментариях приводит к той же ошибке

@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addViewControllers(ViewControllerRegistry r) {
        r.addViewController("/login.html").setViewName("login");
        r.setOrder(Ordered.HIGHEST_PRECEDENCE);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...