diff --git a/src/main/java/com/produtos/apirest/models/Produto.java b/src/main/java/com/produtos/apirest/models/Produto.java index 9a17b56..ef26f09 100644 --- a/src/main/java/com/produtos/apirest/models/Produto.java +++ b/src/main/java/com/produtos/apirest/models/Produto.java @@ -15,7 +15,7 @@ * */ @Entity -@Table(name="TB_PRODUTO") +@Table(name="PRODUTO") public class Produto implements Serializable{ private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/produtos/apirest/resources/ProdutoResource.java b/src/main/java/com/produtos/apirest/resources/ProdutoResource.java index 1e4fc17..9d49034 100644 --- a/src/main/java/com/produtos/apirest/resources/ProdutoResource.java +++ b/src/main/java/com/produtos/apirest/resources/ProdutoResource.java @@ -25,7 +25,7 @@ * */ @RestController -@RequestMapping(value="/api") +@RequestMapping(value="/api/admin") public class ProdutoResource { @Autowired diff --git a/src/main/java/com/produtos/apirest/repository/UserController.java b/src/main/java/com/produtos/apirest/resources/UserController.java similarity index 92% rename from src/main/java/com/produtos/apirest/repository/UserController.java rename to src/main/java/com/produtos/apirest/resources/UserController.java index 5ceaf0a..4917662 100644 --- a/src/main/java/com/produtos/apirest/repository/UserController.java +++ b/src/main/java/com/produtos/apirest/resources/UserController.java @@ -1,4 +1,4 @@ -package com.produtos.apirest.repository; +package com.produtos.apirest.resources; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; diff --git a/src/main/java/com/produtos/apirest/security/WebSecurityConfig.java b/src/main/java/com/produtos/apirest/security/WebSecurityConfig.java index 70c236b..5dad412 100644 --- a/src/main/java/com/produtos/apirest/security/WebSecurityConfig.java +++ b/src/main/java/com/produtos/apirest/security/WebSecurityConfig.java @@ -1,11 +1,14 @@ package com.produtos.apirest.security; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; @Configuration @@ -14,8 +17,11 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity httpSecurity) throws Exception { - httpSecurity.csrf().disable().authorizeRequests() + httpSecurity.csrf().disable() + .authorizeRequests() .antMatchers("/home").permitAll() + .antMatchers("/api").authenticated() + .antMatchers("/api/admin/**").hasRole("ADMIN") .antMatchers(HttpMethod.POST, "/login").permitAll() .anyRequest().authenticated() .and() @@ -28,13 +34,19 @@ protected void configure(HttpSecurity httpSecurity) throws Exception { .addFilterBefore(new JWTAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class); } - + @Override - protected void configure(AuthenticationManagerBuilder auth) throws Exception { + protected void configure (AuthenticationManagerBuilder auth) throws Exception { // cria uma conta default auth.inMemoryAuthentication() - .withUser("admin") - .password("{noop}password") - .roles("ADMIN"); + .withUser("admin").password(encoder().encode("password")).roles("ADMIN") + .and() + .withUser("user").password(encoder().encode("password")).roles("USER"); + } + + @Bean + public PasswordEncoder encoder () { + return new BCryptPasswordEncoder(); } + } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 392fefc..1c8ed8e 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -3,13 +3,6 @@ spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true #Banco local - localhost spring.datasource.url= jdbc:postgresql://localhost:5432/produtos-apirest spring.datasource.username=postgres -<<<<<<< Updated upstream -spring.datasource.password=postgres -#spring.datasource.password=123 -spring.jpa.hibernate.ddl-auto=update -======= #spring.datasource.password=postgres spring.datasource.password=123 spring.jpa.hibernate.ddl-auto=update - ->>>>>>> Stashed changes diff --git a/target/classes/com/produtos/apirest/models/Produto.class b/target/classes/com/produtos/apirest/models/Produto.class index c6eab6b..f094ebd 100644 Binary files a/target/classes/com/produtos/apirest/models/Produto.class and b/target/classes/com/produtos/apirest/models/Produto.class differ diff --git a/target/classes/com/produtos/apirest/resources/ProdutoResource.class b/target/classes/com/produtos/apirest/resources/ProdutoResource.class index 124ef67..ca806f4 100644 Binary files a/target/classes/com/produtos/apirest/resources/ProdutoResource.class and b/target/classes/com/produtos/apirest/resources/ProdutoResource.class differ