From e9cd984d83965102c8a615a571211a48fc443fbf Mon Sep 17 00:00:00 2001 From: Alexey Soshin Date: Mon, 27 Mar 2017 17:01:00 +0300 Subject: [PATCH 1/3] Add gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..632a353 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea/ +*.iml +target/ \ No newline at end of file From 15baebe46ee9583e3be65ba0f0bad0ad9297d071 Mon Sep 17 00:00:00 2001 From: Alexey Soshin Date: Mon, 27 Mar 2017 17:01:20 +0300 Subject: [PATCH 2/3] Replace MvcConfig with idiomatic Controller --- src/main/java/com/example/IndexController.java | 13 +++++++++++++ src/main/java/com/example/MvcConfig.java | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/example/IndexController.java delete mode 100644 src/main/java/com/example/MvcConfig.java diff --git a/src/main/java/com/example/IndexController.java b/src/main/java/com/example/IndexController.java new file mode 100644 index 0000000..b23673c --- /dev/null +++ b/src/main/java/com/example/IndexController.java @@ -0,0 +1,13 @@ +package com.example; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +public class IndexController { + + @RequestMapping("/") + public String index() { + return "index"; + } +} diff --git a/src/main/java/com/example/MvcConfig.java b/src/main/java/com/example/MvcConfig.java deleted file mode 100644 index 75c6c3d..0000000 --- a/src/main/java/com/example/MvcConfig.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.example; - -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; - -@Configuration -public class MvcConfig extends WebMvcConfigurerAdapter { - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/").setViewName("index"); - } -} \ No newline at end of file From 31d584085c303b0eb3e392b26d360e6b19765c84 Mon Sep 17 00:00:00 2001 From: Alexey Soshin Date: Mon, 27 Mar 2017 17:13:41 +0300 Subject: [PATCH 3/3] Read parameters from application.properties --- .../com/example/SecurityConfiguration.java | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/example/SecurityConfiguration.java b/src/main/java/com/example/SecurityConfiguration.java index 70eb124..f53cdec 100644 --- a/src/main/java/com/example/SecurityConfiguration.java +++ b/src/main/java/com/example/SecurityConfiguration.java @@ -1,7 +1,5 @@ package com.example; -import static org.springframework.security.extensions.saml2.config.SAMLConfigurer.saml; - import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; @@ -9,6 +7,8 @@ import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import static org.springframework.security.extensions.saml2.config.SAMLConfigurer.saml; + @EnableWebSecurity @Configuration @EnableGlobalMethodSecurity(securedEnabled = true) @@ -16,27 +16,38 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter { @Value("${security.saml2.metadata-url}") String metadataUrl; + @Value("${server.ssl.key-alias}") + String keyAlias; + + @Value("${server.ssl.key-store-password}") + String password; + + @Value("${server.port}") + String port; + + @Value("${server.ssl.key-store}") + String keyStoreFilePath; + @Override - protected void configure(HttpSecurity http) throws Exception { + protected void configure(final HttpSecurity http) throws Exception { http .authorizeRequests() - .antMatchers("/saml/**").permitAll() + .antMatchers("/saml*").permitAll() .anyRequest().authenticated() .and() .apply(saml()) .serviceProvider() .keyStore() - .storeFilePath("saml/keystore.jks") - .password("secret") - .keyname("spring") - .keyPassword("secret") + .storeFilePath("saml/keystore.jks") + .password(this.password) + .keyname(this.keyAlias) + .keyPassword(this.password) .and() .protocol("https") - .hostname("localhost:8443") + .hostname(String.format("%s:%s", "localhost", this.port)) .basePath("/") .and() .identityProvider() - .metadataFilePath(metadataUrl) - .and(); + .metadataFilePath(this.metadataUrl); } } \ No newline at end of file