如何在Spring Security中从网址中删除Web应用程序名称

时间:2019-03-20 13:03:11

标签: spring apache spring-boot spring-security tomcat9

我将我的spring boot webapp部署到了Apache Tomcat。 Apache Tomcat位于httpd网络服务器后面。我想使用www.mydomain.de访问我的Web应用程序,这在大多数情况下都可以正常工作。我通过使用具有以下配置的VirtualHost实现了此目的:

ProxyPass / ajp://localhost:8011/mywebapp/
ProxyPassReverse / ajp://localhost:8011/mywebapp/

webapp运行良好,达到我添加了Spring Security身份验证的程度。当我单击需要身份验证的页面时,将加载www.mydomain.de/mywebapp/login。我想要www.mydomain.de/login

这里是我的Spring Security配置:

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/", "/index").permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .loginProcessingUrl("/j_spring_security_check")
                .loginPage("/login")
                .defaultSuccessUrl("/")
                .failureUrl("/login")
                .usernameParameter("username")//
                .passwordParameter("password")
                .permitAll()
                .and()
                .logout()
                .logoutUrl("/logout")
                .invalidateHttpSession(true)
                .permitAll();
    }

如何删除URL中的Web应用程序名称?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在application.properties文件中设置上下文路径。示例server.contextPath=/