스프링 시큐리티는 비밀번호가 해쉬화 되어야 로그인이 가능. SecurityConfig 수정 package com.pure.blog.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springfra..
취업 준비/Spring boot
인증이 되지 않은 사용자가 접근할 수 있는 주소를 /auth/로 수정했음. 각종 url을 맞게 수정함. loginForm.jsp 의 버튼을 다시 form 안쪽에 집어넣고 post 메서드를 넣어줬음. Username: Password: 로그인 상태 유지 로그인 user.js에서 btn-login 부분을 삭제함. config 패키지를 생성한 후 SecurityConfig.java를 생성함. package com.pure.blog.config; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMe..
pom.xml 수정 (주석처리 해제) 4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.2 com.example blog 0.0.1-SNAPSHOT blog My 1st blog prj 1.8 org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime true mysql mysql-connector-java runtime org.p..
application.yml server: port: 8282 servlet: encoding: charset: UTF-8 enabled: true force: true spring: mvc: view: prefix: /WEB-INF/views/ suffix: .jsp datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Seoul username: pure password: pure1234 # ddel-auto: create로 하면 서버 재시작마다 비어 있는 새 테이블을 생성함. jpa: open-in-view: true hibernate: ddl-aut..
스프링 시큐리티를 사용하지 않는 기존 방식의 로그인 구현 loginForm.jsp Username: Password: 로그인 상태 유지 로그인 User.js 수정 let index = { init: function() { $("#btn-save").on("click", ()=>{ this.save(); }); $("#btn-login").on("click", ()=>{ this.login(); }); }, save: function() { let data = { username: $("#username").val(), password: $("#password").val(), email: $("#email").val() }; //javascript 오브젝트임. //ajax 호출시 default가 비동기 호..
트랜잭션 - 일이 처리되기 위한 가장 작은 단위 - 트랜잭션이 여러개 모여서 하나의 트랜잭션이 될 수 있음. - 그렇게 여러 개의 트랜잭션을 모아 놓은 것을 서비스라고 부름. DB 격리수준. 1. Read Committed - 오라클 DB의 default - 온라인 서비스에서 가장 많이 선택되는 격리수준 - 어떤 트랜잭션의 변경 내용이 commit이 되어야 다른 트랜잭션에서 조회가 가능함. - 하지만 이 또한 non-repeatable read 부정합이 발생함. 2. Repeatable Read - MySQL의 default - 트랜잭션이 시작되기 전에 커밋된 내용에 대해서만 조회할 수 있음. https://joont92.github.io/db/%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85..
UserController.java package com.pure.blog.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class UserController { @GetMapping("/user/joinForm") public String joinForm() { return "user/joinForm"; } @GetMapping("/user/loginForm") public String loginForm() { return "user/loginForm"; } } joinForm.jsp Username:..
https://www.w3schools.com/bootstrap4/bootstrap_navbar.asp Bootstrap 4 Navigation Bar W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more. www.w3schools.com https://www.w3schools.com/bootstrap4/bootstrap_templates.asp Bootstrap 4 Templates W3Schools offe..