2
在我的春季啓動Web應用程序中,我有一些公共頁面和幾個管理頁面。管理頁面由spring安全保護。 我需要爲登錄頁面和登錄管理頁面啓用SSL/HTTPs。 公共頁面不需要SSL。春季啓動爲私人頁面啓用SSL
我已經啓用了SSL在application.properties如下
server.port = 8444
server.ssl.key-store = classpath:keystore.jks
server.ssl.key-store-password = secret
server.ssl.key-password = another-secret
和配置類
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
tomcat.addAdditionalTomcatConnectors(initiateHttpConnector());
return tomcat;
}
private Connector initiateHttpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(80);
connector.setSecure(false);
connector.setRedirectPort(8444);
return connector;
}
和我的安全配置的一部分,又增加了連接器
@Override
protected void configure(HttpSecurity http) throws Exception {
String[] securedUrls = { "/app/**" };
http.authorizeRequests().antMatchers(securedUrls).hasAnyRole("SYSADMIN")
.and().requiresChannel().antMatchers(securedUrls).requiresSecure().and()
.requiresChannel().antMatchers("/login").requiresSecure();
http.formLogin().loginPage("/login").defaultSuccessUrl("/app", true).successHandler(myAuthenticationSuccessHandler)
.failureHandler(myAuthenticationFailureHandler).and().logout();
}
我能夠瀏覽公共頁面,一旦我加載登錄頁面,我得到鉻錯誤爲「此網頁有重定向循環ERR_TOO_MANY_REDIRECTS「