From 9de23998b97cc694e3cde94cf70523dd49e023b8 Mon Sep 17 00:00:00 2001 From: Antonio Vidal Date: Thu, 25 Mar 2021 20:59:24 +0100 Subject: [PATCH] Arreglos con los login y el authority --- .../configuration/SecurityConfiguration.java | 7 +-- .../cheapy/model/Administrator.java | 5 ++ .../springframework/cheapy/model/Client.java | 2 +- .../springframework/cheapy/model/User.java | 56 +++---------------- .../springframework/cheapy/model/Usuario.java | 29 +++++++++- src/main/resources/db/mysql/data.sql | 6 +- 6 files changed, 49 insertions(+), 56 deletions(-) diff --git a/src/main/java/org/springframework/cheapy/configuration/SecurityConfiguration.java b/src/main/java/org/springframework/cheapy/configuration/SecurityConfiguration.java index 1f7d7cd13..3ade1b2f7 100644 --- a/src/main/java/org/springframework/cheapy/configuration/SecurityConfiguration.java +++ b/src/main/java/org/springframework/cheapy/configuration/SecurityConfiguration.java @@ -36,11 +36,8 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter { http.authorizeRequests().antMatchers("/resources/**", "/webjars/**", "/h2-console/**").permitAll() .antMatchers(HttpMethod.GET, "/", "/oups").permitAll() - .antMatchers("/users/new").permitAll() - .antMatchers("/usuarios/new").permitAll() - .antMatchers("/offers/**").permitAll() - .antMatchers("/admin/**").hasAnyAuthority("admin") - .antMatchers("/owners/**").hasAnyAuthority("owner", "admin") + .antMatchers("/clients/new").permitAll() + .antMatchers("/offers/**").hasAnyAuthority("admin") .antMatchers("/vets/**").authenticated().anyRequest().denyAll() .and().formLogin() /* .loginPage("/login") */ diff --git a/src/main/java/org/springframework/cheapy/model/Administrator.java b/src/main/java/org/springframework/cheapy/model/Administrator.java index 736908254..44a3ffdf6 100644 --- a/src/main/java/org/springframework/cheapy/model/Administrator.java +++ b/src/main/java/org/springframework/cheapy/model/Administrator.java @@ -6,5 +6,10 @@ import javax.persistence.Table; @Entity @Table(name = "administrators") public class Administrator extends User{ + + /** + * + */ + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/org/springframework/cheapy/model/Client.java b/src/main/java/org/springframework/cheapy/model/Client.java index b249311ff..161b57402 100644 --- a/src/main/java/org/springframework/cheapy/model/Client.java +++ b/src/main/java/org/springframework/cheapy/model/Client.java @@ -10,7 +10,7 @@ import javax.validation.constraints.NotEmpty; @Entity @Table(name = "clients") -public class Client extends User { +public class Client extends BaseEntity{ @NotEmpty private String email; diff --git a/src/main/java/org/springframework/cheapy/model/User.java b/src/main/java/org/springframework/cheapy/model/User.java index 36d495444..3e9854000 100644 --- a/src/main/java/org/springframework/cheapy/model/User.java +++ b/src/main/java/org/springframework/cheapy/model/User.java @@ -1,56 +1,18 @@ package org.springframework.cheapy.model; -import java.util.List; -import java.util.Set; - -import javax.persistence.CascadeType; -import javax.persistence.Entity; -import javax.persistence.Id; +import javax.persistence.JoinColumn; import javax.persistence.MappedSuperclass; -import javax.persistence.OneToMany; import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.validation.constraints.Email; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -//@Entity -//@Table(name = "users") @MappedSuperclass -public class User{ +public class User extends BaseEntity{ - @Id - private String username; - - @NotBlank - private String password; + /** + * + */ + private static final long serialVersionUID = 1L; - boolean enabled; - - - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - -// public Set getAuthority() { -// return authorities; -// } -// -// public void setAuthorities(Set authorities) { -// this.authorities = authorities; -// } + @OneToOne + @JoinColumn(name = "username") + private Usuario usuario; } diff --git a/src/main/java/org/springframework/cheapy/model/Usuario.java b/src/main/java/org/springframework/cheapy/model/Usuario.java index 3556ff16c..572a0821e 100644 --- a/src/main/java/org/springframework/cheapy/model/Usuario.java +++ b/src/main/java/org/springframework/cheapy/model/Usuario.java @@ -5,12 +5,39 @@ import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Id; +import javax.persistence.JoinColumn; import javax.persistence.OneToMany; +import javax.persistence.OneToOne; import javax.persistence.Table; +import javax.validation.constraints.NotBlank; @Entity @Table(name = "users") -public class Usuario extends User{ +public class Usuario { + + @Id + private String username; + + @NotBlank + private String password; + + boolean enabled; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } @OneToMany(cascade = CascadeType.ALL, mappedBy = "user") private Set authorities; diff --git a/src/main/resources/db/mysql/data.sql b/src/main/resources/db/mysql/data.sql index b1bab7a65..b9d25cbcf 100644 --- a/src/main/resources/db/mysql/data.sql +++ b/src/main/resources/db/mysql/data.sql @@ -19,6 +19,8 @@ INSERT INTO nu_offers(start, end, code, type, client_id, gold, discount_gold, si --insert into usuarios(username, password, enabled) values ('admin3', 'admin', true); --insert into authorities(id ,usuario, authority) values (42,'admin3', 'admin'); -INSERT INTO users(username,password,enabled) VALUES ('admin1','4dm1n',TRUE); -INSERT INTO authorities(id,username,authority) VALUES (1,'admin1','admin'); +INSERT INTO users(username,password,enabled) VALUES ('cliente','cliente',TRUE); +INSERT INTO authorities(id,username,authority) VALUES (1,'cliente','client'); +INSERT INTO clients(email, address, timetable,telephone,description,code,food) VALUES ('cliente@hotmail.com','Calle Tahona nÂș5','12:00-23:00','954876351','Descripcion','codigo','variado'); +--INSERT INTO authorities(id,username,authority) VALUES (31,'cliente','client'); \ No newline at end of file