From 9fcd68a918e69fedcd27e865772b1918673195db Mon Sep 17 00:00:00 2001 From: stp94 <38986323+stp94@users.noreply.github.com> Date: Fri, 12 Mar 2021 12:45:04 +0100 Subject: [PATCH] Working on login from frontend --- bazaDanych.mv.db | Bin 24576 -> 0 bytes pom.xml | 6 ++ .../MyUserDetailService.java | 4 ++ .../SecurityConfiguration.java | 2 +- .../TruckforwarderBackendApplication.java | 2 +- .../controller/PlayerController.java | 9 +-- .../controller/UserController.java | 67 +++++++++++------- .../truckforwarder_backend/dto/Truck.java | 30 ++++---- .../truckforwarder_backend/dto/User.java | 21 ++++++ .../interfaces/ITruck.java | 16 ----- .../repository/UserRepository.java | 2 + src/main/resources/application.properties | 2 + src/main/resources/hibernate.cfg.xml | 28 -------- 13 files changed, 92 insertions(+), 97 deletions(-) delete mode 100644 bazaDanych.mv.db delete mode 100644 src/main/java/pl/staszczykpiotr/truckforwarder_backend/interfaces/ITruck.java delete mode 100644 src/main/resources/hibernate.cfg.xml diff --git a/bazaDanych.mv.db b/bazaDanych.mv.db deleted file mode 100644 index c6afb150712b3417b9e31238dd459a4a968b108f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 zcmeHP%Wm676qOu1N$t9T(Pq~c6Q+rsLJ(&7CU+D?Swi%1MJlmZ1Rul1h%Fhm90Ucr zE4uHl1-i-y^gG&pf2U}NFKNO^w&K`n+>8NJ6vyOT9^T=cbLU<+b-v;sjDqL7kbc_x z-(wv?2rI#})8TVHsszW_8{<$%3Ll1|Dk~vhiAKkV-dIPK7x?&Oe>5b279HSm@C+a8 zLI8b5^zdql{V)U=0t^9$07HNwzz|>vFa#I^3;~7!Lx3UhK_Jj%`u~G?4$KIK07HNw zzz|>vFa#I^3;~7!Lx3T`5MT&gB?9RpKhAOh_{squl2!df?})7EA9^qKfFuGOc~9{P zi4z=;Mq^!2Np1k-p{$9O@%|y!WgH0pBo6>rj`oM<=yW*NA-K99l3Q@gzxCIR)e_>71Rb1gv=G-L_LK!{5q=?>a$5N}+k=jQ$7 z*Ll|-D(U^0#*SgOoIMUS+C78Z26+^5msxYuYHc^2IgM?ryX`dRHTH~pi?r|USRBEn zZ#Iqo7B5K;vnzLv&g_Pre#;~+GtIFb!x_Zb_j+y1=oYPga+bAE$fJA1*wu#{%in-| z>xY>aTo$^3SlV~Mla|v22-K{0ue)u>k1_GDjph5`?s_-tliYB}=S`S5b*Z+gQ%?Pn+{goPfBgqCbjYBZ>&C?Q>%i=FZKrRA|=^%BU@>6VU3` ztzGJ@*Uj8m-Xvq{??uLxeR(5FR*|L&yx>B0YPxo2Nw zL@m?<8&UC#BOXy(Z#SYALifB8^^lCH&f+6VoHe9~Pg1_VvHa~h1B$$f78*{ZvkQ$U zkt>yMbk_DtUzBbo9HHuGpF#E+t`L?`Mafo3wqmlClC7L<)4##Ve)Q?kJH*w4kze=5 z-dg^p;~h=*`#8Fj93LIwp>ymFPrP7EvI|erQ^%fvfUA)HBG6xy&ytf*hvBF_dRj#{ zW5QAuelDjZ$1jkagZ&q{Lnscc#Ctml$$<&=2@~q$6{!zT$Pk1`fI0P%0$CI*r^C|| zk{&5zjgPV~#`tlT7a2^LkxwzBUow+|N$zFJyXKpO6O#mD(h$EK>taUAP)5pP!w4(G zh|fux#%qgO7R<0L%q$Z#MtGiOT5g$Cpo?N`Sd1BESq@Xi9a8|On1vI}LdvqlGxV9B zp=X|vIFe30EO)ASpEyT{=@WHO|t92FCVJ9%?Q)SLSX3@7@3>DAJm(&srl2{Trbat(Ad;U+L49%qx2 z|BRO89N@#7X@APtNiiyva{v+nqA1fvqD93SA5Z*-jvvjQ@z0*3aXQyu8X!<$&AP@Ia0RVqaWH$-yl0*O{k2%Ky0Cghd$R)2d6Clk1 z_=9Btund4Va|cL10m}ej831#$YFGxqjD(y2Nlp#R0Jyvez|!xluck3}oWcN zV(j_S|GY>x9mh_W{@*U^FqoN4o&`}o{A%^dY*Xs3+dVVKSG)Q zm#6{&axkv|NOI2P*E74sf1!edRRA~^IIF7W z67@e6YYkFTBe_~#Xt<)-P+SdKyemp7QVbDEwfZ|&04&r4s{puQ1;9e+ezX+;yK4hd z0dPBEDOCjXB)ge`fHddsoPvNfU;q6V0sNN9Zi;E0mvW!!?zde3nCR}93>8BH zo34+rIK_D(ly{C(d_|@G7gP69T2pd)Wdw97z!E}nW?)K}lSswKrg7N)G6Wa`vk}Pj W|5SfZ<_9#@{~AP4^*#9t^#8xm8712Q diff --git a/pom.xml b/pom.xml index 81ab720..a718de3 100644 --- a/pom.xml +++ b/pom.xml @@ -83,6 +83,12 @@ + + org.springframework.boot + spring-boot-devtools + + + diff --git a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/MyUserDetailService.java b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/MyUserDetailService.java index 9aa13b8..4a135e0 100644 --- a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/MyUserDetailService.java +++ b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/MyUserDetailService.java @@ -21,4 +21,8 @@ public UserDetails loadUserByUsername(String username) { } return new MyUserPrincipal(user); } + + + + } diff --git a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/SecurityConfiguration.java b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/SecurityConfiguration.java index 0df3a12..66e1c22 100644 --- a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/SecurityConfiguration.java +++ b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/SecurityConfiguration.java @@ -34,7 +34,7 @@ protected void configure(HttpSecurity httpSecurity) throws Exception { httpSecurity.csrf().disable(); httpSecurity.authorizeRequests() - .antMatchers("/trucks/all","/session/player/**","/order/all").permitAll() + .antMatchers("/trucks/all","/session/player/**","/order/all","/register","/login").permitAll() .anyRequest().authenticated() .and() .formLogin().permitAll() diff --git a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/TruckforwarderBackendApplication.java b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/TruckforwarderBackendApplication.java index 803718b..884936a 100644 --- a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/TruckforwarderBackendApplication.java +++ b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/TruckforwarderBackendApplication.java @@ -21,7 +21,6 @@ public class TruckforwarderBackendApplication { - public static void main(String[] args) { SpringApplication.run(TruckforwarderBackendApplication.class, args); } @@ -42,4 +41,5 @@ public FilterRegistrationBean simpleCorsFilter() { return bean; } + } diff --git a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/controller/PlayerController.java b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/controller/PlayerController.java index 5db4606..8c801bc 100644 --- a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/controller/PlayerController.java +++ b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/controller/PlayerController.java @@ -63,11 +63,9 @@ public void postPurchaseTruck(@RequestBody String SelectedTruck){ String selectedTruckByUser; stringBuilder.append(SelectedTruck); stringBuilder.delete(0,18); - stringBuilder.delete(stringBuilder.length()-2,stringBuilder.length()); // Format String from Post to correctly form + stringBuilder.delete(stringBuilder.length()-2,stringBuilder.length()); selectedTruckByUser = stringBuilder.toString(); - BoughtTrucks boughtTrucks = new BoughtTrucks(); - boughtTrucks.setIdbought_trucks(Math.toIntExact(boughtTrucksRepository.count() + 1)); boughtTrucks.setIdtrucks(truckRepository.findByName(selectedTruckByUser).getID()); boughtTrucks.setIdplayers(playerRepository.findByOwner(SecurityContextHolder.getContext().getAuthentication().getName()).getIdplayers()); @@ -77,12 +75,11 @@ public void postPurchaseTruck(@RequestBody String SelectedTruck){ boughtTrucksRepository.save(boughtTrucks); // Add Bought Truck - playerRepository.findByOwner(SecurityContextHolder.getContext().getAuthentication().getName()). setCash(playerRepository.findByOwner(SecurityContextHolder.getContext().getAuthentication().getName()).getCash() - - truckRepository.findByName(selectedTruckByUser).getPrice()); // Set Cash Status + truckRepository.findByName(selectedTruckByUser).getPrice()); - playerRepository.save(playerRepository.findByOwner(SecurityContextHolder.getContext().getAuthentication().getName())); // Update Cash Status + playerRepository.save(playerRepository.findByOwner(SecurityContextHolder.getContext().getAuthentication().getName())); diff --git a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/controller/UserController.java b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/controller/UserController.java index 749e9d4..06b9d0c 100644 --- a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/controller/UserController.java +++ b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/controller/UserController.java @@ -2,17 +2,15 @@ import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContext; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.web.bind.annotation.*; import pl.staszczykpiotr.truckforwarder_backend.dto.Player; import pl.staszczykpiotr.truckforwarder_backend.dto.User; -import pl.staszczykpiotr.truckforwarder_backend.repository.BoughtTrucksRepository; import pl.staszczykpiotr.truckforwarder_backend.repository.PlayerRepository; - -import java.security.Principal; +import pl.staszczykpiotr.truckforwarder_backend.repository.UserRepository; @CrossOrigin @RestController @@ -20,42 +18,57 @@ @RequestMapping("/principal") public class UserController { private PlayerRepository playerRepository; + private UserRepository userRepository; @Autowired - public UserController(PlayerRepository playerRepository) { + public UserController(PlayerRepository playerRepository, UserRepository userRepository) { this.playerRepository = playerRepository; + this.userRepository = userRepository; } - @GetMapping - public User transferPrincipal(@RequestParam String username, @RequestParam String password){ - User httpEntryUser = new User(); + @PostMapping("/login") + public String loginUser(@RequestBody String username, String password) { - httpEntryUser.setUsername(username); - httpEntryUser.setPassword(password); + return "login_success"; - return httpEntryUser; } - @GetMapping("info") - public Principal retrievePrincipal(Principal principal) { - - return principal; + @PostMapping("/register") + @ResponseStatus(code = HttpStatus.OK) + public String processRegister(String username, String password) { + User user = new User(); + user.setUsername(username); + user.setPassword(password); + user.setEnabled(true); + user.setId((long) Math.toIntExact(playerRepository.count() + 1)); + BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); + String encodedPassword = passwordEncoder.encode(user.getPassword()); + user.setPassword(encodedPassword); + + userRepository.save(user); + + Player player = new Player(); + player.setIdplayers(Math.toIntExact(playerRepository.count() + 1)); + player.setName(username); + player.setSpeed(100F); + player.setResponsibility(100F); + player.setRespect(100F); + player.setCash(15000F); + player.setFinished_courses(0); + player.setFailed_courses(0); + player.setOwner(username); + + playerRepository.save(player); + + + return "login success"; } - - - @PostMapping() - public Boolean loginUser(@RequestBody String username, String password){ - - //return playerRepository.findByOwner(SecurityContextHolder.getContext().getAuthentication().getName()); - return SecurityContextHolder.getContext().getAuthentication().isAuthenticated(); - - } +} -} diff --git a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/dto/Truck.java b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/dto/Truck.java index bec4a33..e3c0612 100644 --- a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/dto/Truck.java +++ b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/dto/Truck.java @@ -1,14 +1,12 @@ package pl.staszczykpiotr.truckforwarder_backend.dto; -import pl.staszczykpiotr.truckforwarder_backend.interfaces.ITruck; - import javax.persistence.*; @Entity @Table(name = "trucks") -public class Truck implements ITruck{ +public class Truck { @Id @Column(name = "id") @@ -31,50 +29,46 @@ public class Truck implements ITruck{ protected Float capacity; @Column(name = "price") protected Float price; - @Column(name = "status") - protected Byte status; + public Truck(){ }; - @Override + public Integer getID() { return idtrucks; } - @Override + public String getName() { return name; } - @Override + public String getLoading() { return loadingtype; } - @Override + public Float getLength() { return length; } - @Override + public Float getWidth() { return width; } - @Override + public Float getHeight() { return height; } - @Override + public Float getWeight() { return weight; } - @Override + public Float getCapacity() { return capacity; } - @Override + public Float getPrice() { return price; } - @Override - public Byte getStatus() { - return status; - } + } diff --git a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/dto/User.java b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/dto/User.java index ddb5fed..dba62bc 100644 --- a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/dto/User.java +++ b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/dto/User.java @@ -17,6 +17,16 @@ public class User { private String password; + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(Boolean enabled) { + this.enabled = enabled; + } + + private Boolean enabled; + public Long getId() { return id; } @@ -40,4 +50,15 @@ public String getPassword() { public void setPassword(String password) { this.password = password; } + +// public void register(String username, String password){ +// this.username = username; +// this.password = password; +// } + + + + public User(){ + + } } diff --git a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/interfaces/ITruck.java b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/interfaces/ITruck.java deleted file mode 100644 index 6abb5b5..0000000 --- a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/interfaces/ITruck.java +++ /dev/null @@ -1,16 +0,0 @@ -package pl.staszczykpiotr.truckforwarder_backend.interfaces; - -public interface ITruck { - - public Integer getID(); - public String getName(); - public String getLoading(); - public Float getLength(); - public Float getWidth(); - public Float getHeight(); - public Float getWeight(); - public Float getCapacity(); - public Float getPrice(); - public Byte getStatus(); - } - diff --git a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/repository/UserRepository.java b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/repository/UserRepository.java index c034c4e..28900af 100644 --- a/src/main/java/pl/staszczykpiotr/truckforwarder_backend/repository/UserRepository.java +++ b/src/main/java/pl/staszczykpiotr/truckforwarder_backend/repository/UserRepository.java @@ -8,4 +8,6 @@ public interface UserRepository extends JpaRepository { User findByUsername(String username); + User readAllByUsernameAndPassword(String username, String password); + } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e4e41bb..6b3c1ee 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -5,4 +5,6 @@ spring.datasource.username=root spring.datasource.password=Zaq12wsx spring.datasource.initialization-mode=always logging.level.org.springframework.security=DEBUG +debug=true + diff --git a/src/main/resources/hibernate.cfg.xml b/src/main/resources/hibernate.cfg.xml deleted file mode 100644 index 91f9926..0000000 --- a/src/main/resources/hibernate.cfg.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - jdbc:mysql://127.0.0.1:3306/sys?serverTimezone=Europe/Warsaw - root - Zaq12wsx - true - com.mysql.jdbc.Driver - - org.hibernate.dialect.MySQL5Dialect - update - true - true - - - - - - \ No newline at end of file