diff --git a/src/main/java/mops/gruppen2/security/SecurityConfig.java b/src/main/java/mops/gruppen2/security/SecurityConfig.java index a12e3bd..75946f1 100644 --- a/src/main/java/mops/gruppen2/security/SecurityConfig.java +++ b/src/main/java/mops/gruppen2/security/SecurityConfig.java @@ -1,17 +1,12 @@ package mops.gruppen2.security; -import javax.servlet.http.HttpServletRequest; import org.keycloak.KeycloakPrincipal; import org.keycloak.adapters.springsecurity.KeycloakSecurityComponents; import org.keycloak.adapters.springsecurity.authentication.KeycloakAuthenticationProvider; import org.keycloak.adapters.springsecurity.config.KeycloakWebSecurityConfigurerAdapter; import org.keycloak.representations.AccessToken; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Scope; -import org.springframework.context.annotation.ScopedProxyMode; +import org.springframework.context.annotation.*; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration; @@ -25,6 +20,8 @@ import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; + @Configuration @EnableWebSecurity @ComponentScan(basePackageClasses = KeycloakSecurityComponents.class) @@ -62,6 +59,10 @@ class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter { http.authorizeRequests() .antMatchers("/actuator/**") .hasRole("monitoring") + .and() + .authorizeRequests() + .antMatchers("h2-console/**") + .permitAll() .anyRequest() .permitAll(); } @@ -81,4 +82,4 @@ class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter { public static class MethodSecurityConfig extends GlobalMethodSecurityConfiguration { } -} \ No newline at end of file +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 02fb28a..5b240ce 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -5,7 +5,7 @@ logging.pattern.console=[${application.name}],%magenta(%-5level), %d{dd-MM-yyyy spring.datasource.url=jdbc:h2:mem:blogdb spring.datasource.driverClassName=org.h2.Driver -spring.datasource.username=root +spring.datasource.username=sa spring.datasource.password=geheim spring.jpa.database-platform=org.hibernate.dialect.H2Dialect diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql new file mode 100644 index 0000000..0132c78 --- /dev/null +++ b/src/main/resources/data.sql @@ -0,0 +1,4 @@ +-- noinspection SqlNoDataSourceInspectionForFile + +insert into TEILNEHMER (VORNAME, NACHNAME, EMAIL) values + ('Peter', 'Müller', 'Peter@123.de'); diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql new file mode 100644 index 0000000..767c37a --- /dev/null +++ b/src/main/resources/schema.sql @@ -0,0 +1,25 @@ +-- noinspection SqlNoDataSourceInspectionForFile + +DROP TABLE IF EXISTS teilnehmer; +CREATE TABLE teilnehmer ( + teilnehmer_id INT PRIMARY KEY AUTO_INCREMENT, + vorname VARCHAR(50) NOT NULL, + nachname VARCHAR(50) NOT NULL , + email VARCHAR(255) NOT NULL +); + +DROP TABLE IF EXISTS gruppe; +CREATE TABLE gruppe +( + gruppe_id INTEGER PRIMARY KEY auto_increment, + titel TEXT NOT NULL, + beschreibung TEXT NOT NULL +); + +DROP TABLE IF EXISTS teilnahme; +CREATE TABLE teilnahme +( + id INTEGER PRIMARY KEY auto_increment, + teilnehmer_dto INTEGER REFERENCES teilnehmer(teilnehmer_id), + gruppe_dto INTEGER REFERENCES gruppe(gruppe_id) +);