본문 바로가기

STUDY

(287)
Spring | 스프링 시큐리티(Spring Security) (3) JDBC 로그인 이전 글에서는 in memory방식의 로그인, 이번 글에서는 DB연동 로그인을 해볼 것. 0. 간단한 회원가입 구현 0-1. 회원 정보를 저장할 DB table 생성 이 때 필수로 enabled컬럼을 작성해주어야 함. 스프링 시큐리티에서 요구하는 필수 요건?이며 0은 비활성화 상태, 1은 활성화 상태를 의미함. auth컬럼은 회원의 role을 저장할 곳. 따로 테이블을 생성해 join해서 가져와도 됨. auth컬럼은 기본 값으로 'ROLE_USER'가 저장되도록 설정해주었음. *insert시에 아무 값도 입력하지 않으면 자동으로 ROLE_USER값이 저장 --테이블 생성 쿼리문 CREATE TABLE USERS ( ID VARCHAR2(50) NOT NULL PRIMARY KEY, PASSWORD VAR..
Spring | 스프링 시큐리티(Spring Security) (2) 로그인 구현 1. JSP파일 작성 및 컨트롤러 작성 views폴더 하위에 users라는 폴더를 생성한 후 amdin, login, member파일 생성. admin - 관리자 권한이 있을 경우에만 접근가능 페이지 login - 직접 커스텀할 로그인 페이지 member - 멤버 권한(==로그인 한 일반 유저)이 있을 경우 접근 가능 페이지 home - 모두 접근 가능 UserController클래스를 작성해주었음. @RequestMapping("/users") @Controller public class UserController { private static final Logger logger = LoggerFactory.getLogger(UserController.class); @GetMapping("/login"..
Spring | 스프링 시큐리티(Spring Security) (1) 세팅하기 1. pom.xml에 dependency추가 spring-security-core spring-security-web spring-security-config spring-security-taglibs org.springframework.security spring-security-core ${spring.security.version} org.springframework.security spring-security-web ${spring.security.version} org.springframework.security spring-security-config ${spring.security.version} org.springframework.security spring-security-taglibs ..
Spring | log4j → log4j2로 변경하기 (CVE-2019-17571) 기존 log4j는 보안상 취약점 및 오랜시간 동안 업데이트 되지 않았다고 하여 log4j2로 변경해 보았음. (github에서 알림이 와서 바꿈...) +)읽어보기 [Research & Technique] Apache log4j Remote Code Execution 취약점(CVE-2019-17571) ​■취약점 개요2019년 12월 20일, JAVA 애플리케이션 로그 수집 라이브러리인 Apache log4j 1.2.x 버... blog.naver.com 1. pom.xml수정 기존 log4j는 org.apache.log4j였다면 log4j2는 org.apache.logging.log4j임. org.apache.logging.log4j log4j-api 2.12.1 org.apache.logging.lo..
Spring | MyBatis 연동 (2) (+ Oracle) 0. MyBatis? MyBatis는 Spring Framework와 연동이 가능한 프레임워크로, JDBC로 처리하는 상당부분의 코드와 파라미터 설정 및 결과 매핑을 대신해줌. 특히 많이 사용하는 이유는 DAO와 SQL문을 따로 관리할 수 있다는 장점 때문. MyBatis를 이용한 SQL문 작성법 구분 - XML파일만 이용해 작성: DAO와 SQL문을 따로 작성하는 방법. 수정하기 편리함. - annotation과 interface를 이용: 별도 DAO클래스 없이 작성. - interface와 XML을 이용: 간단한 SQL문은 annotation을, 복잡한 SQL문은 XML을 이용하는 방법. 이번 글에서는 XML파일에만 쿼리문을 작성하는 방법을 이용할 것임! 1. DAO 패키지 및 클래스 생성 간단하게 ..
Spring | MyBatis 연동 (1) ( + JDBC, Oracle, jUnit, Spring-test) 0. Spring Legacy Project 생성 SpringMyBatis라는 이름의 프로젝트를 생성함. Spring Legacy Project (mvc) 구조 살짝 파악해보기 main/java폴더에 자바 개발코드 (DAO, DTO, Controller 등)을 작성하고, 스프링에 대한 설정(버전 및 필요한 프로퍼티 등)은 spring폴더 하위에 작성함. 1. pom.xml에 필요한 의존성 주입 +) 자바 버전을 1.8로 변경, 스프링프레임워크 버전을 5.2.5릴리즈 버전으로 변경하였음. ++) 자바버전은 프로젝트 properties변경해주었음. +++) 버전 부분을 변경 후 저장하면 자동으로 다른 스프링 dependency들도 버전이 변경됨. Spring JDBC org.springframework sp..
Spring | Dynamic Web Project로 스프링 프로젝트 생성하기 ※ Spring Legacy Project로 생성하는 법 1. Dynamic Web Project 생성 Dynamic Web Project? 이클립스(Eclipse)에서 생성하는 Servlet/JSP기반 동적 웹 애플리케이션 프로젝트 File - New - Dynamic Web Project Project name입력 후 특별히 설정할 것이 없으므로 Finish 톰캣 서버 일치하는지 확인하기 생성 완료 2. pom.xml생성 해당 프로젝트 우클릭 - Configure - Convert to Mave Project 생성완료 3. pom.xml에 Spring Web MVC 라이브러리 추가하기 mvnrepository접속 후 Spring Web MVC검색, 버전 선택 후 코드 복사 Maven Repositor..
Spring | 이클립스에 STS(Spring Tools Suite) 세팅 하기 ( + Spring Legacy Project 생성 ) ※Tomcat설치완료 상태. 1. Eclipse Marketplace에서 STS검색 및 설치 (이미 설치했기 때문에 Installed라고 뜸) 2. Spring Legacy Project생성해보기 3. 실행해보기 +) 한글깨짐 설정 web.xml에 encodingFilter추가 // web.xml encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* jsp파일 상단에 아래 코드 추가