Тестовый проект SpringBoot.
protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/admin/**").authenticated()
                .anyRequest().permitAll()
                .and()
            .formLogin()
                .loginPage("/signin")
                .permitAll()
                .failureUrl("/signin?error=1")
                .loginProcessingUrl("/authenticate")
                .and()
            .logout()
                .logoutUrl("/logout")
                .permitAll()
                .logoutSuccessUrl("/signin?logout")
                .and()
            .rememberMe()
                .rememberMeServices(rememberMeServices())
                .key("remember-me-key");
    }
Т.е. при обращении к /admin должно перекинуть на /signin, где пользователь заполняет форму, а при проверка авторизации осуществляется спрингом по урл /authenticate. 
Вот ровно так работает до деплоя на томкат. После деплоя - адрес проекта получается вида http://localhost:9080/project/, и теперь все эти урлы, участвующие в авторизации, должны работать относительно адреса проекта. 
Но как бы не так. Форма авторизации отправляется на http://localhost:9080/authenticate, а не на http://localhost:9080/project/authenticate. Как это пофиксить? не прописывать же имя проекта в шаблоне формы?




