Framework
-
예전에 Spring Legacy에서 Security 적용을 하는 과정을 포스팅 남긴 적이 있습니다. 시간이 많이 지나기도 했고 그때와 지금 사용하는 환경이 많이 달라져서 다시 한번 포스팅해보면 좋겠다라는 생각이 들었습니다.본 포스팅은 Spring Boot 프로젝트 생성 후 Spring Security 적용 및 DB를 연동 후 로그인까지를 다뤘습니다. ※ 테스트 환경Spring Boot 2.7jdk 11GradleThymeleaf1. 프로젝트 생성1-1) 프로젝트 생성 1-2) 디펜던시 추가Developer Tools - Spring Boot DevTools, LombokWeb - Spring WebSecurity - Spring Security 2. 뷰 템플릿 설정1. 프로젝트 셋팅까지 진행했을 때 서..
[Spring Boot]Spring Security - 1) 프로젝트 셋팅 2023. 1. 15. -
RestAPI의 테스트를 위해 Swagger를 연동하면서 발생했던 에러들과 해결법 공유를 위해 포스팅을 남겨봅니다.※테스트 환경Spring Boot : 2.7.2 (+Security)Swagger 3.0.0* swagger 연동을 위한 config 설정은 아래에 작성해놓았습니다. swagger 연동 후 아래와 같이 swagger-ui.html로 페이지 이동이 안되는 현상이 발생했습니다. 연동 실패한 2.9.2 버전 io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2검색 결과 시큐리티 인증대상에서 제외시켜주면 된다고했지만 어째서인지 실패였습니다. //swagger 인증 대상에서 제외 web.ignorin..
[Spring Boot]Spring Security + Swagger 연동 2022. 7. 31. -
이전 글에 이어 오늘은 데이터를 등록하는 과정을 포스팅했습니다.테스트 환경Spring Boot 2.5.6JDK 1.8MariaDB 10.2.221. 의존성 주입1-1. 라이브러리 추가JPA 적용을 위해 라이브러리를 추가합니다.(spring-boot-starter-data-jpa)Lombok 어노테이션을 사용을 위해 lombok 라이브러리도 추가해주었습니다. pom.xml org.springframework.boot spring-boot-starter-data-jpa org.projectlombok lombok provided 1-2. Lombok 설치(이전 글 1-2에서 lombok 의존성을 추가했다면 넘어가도 되는데 처음 프로젝트 셋팅시에는 이 부분을 몰랐네요...) 다운로드 사이트 접속 ..
[Spring Boot]JPA 연동 - 2) 데이터 등록 2021. 11. 4. -
요즘 많이 사용되는 Spring Boot와 JPA를 연동하여 간단한 예제를 하나 만들어보려고 합니다.테스트 환경Spring Boot 2.5.6JDK 1.8MariaDB 10.2.221. 프로젝트 생성1-1. New - Spring Boot - Spring Starter ProjectMaven, Gradle 중 원하는 자원관리 타입을 선택하면 되고 자바 버전을 맞춰줍니다. 1-2. 의존성 추가(이후 필요한 의존성은 따로 추가) - FinishSpring Boot 버전을 선택하고 기본적으로 필요한 것만 추가하였습니다.(Spring Web, MySQL 또는 MariaDB Driver, JDBC) 2. 테스트 페이지 생성2-1. 프로젝트를 생성하게 되면 아래와 같은 화면을 확인할 수 있습니다.2-2. 프로젝트 ..
[Spring Boot]JPA 연동 - 1) 프로젝트 셋팅 2021. 11. 3. -
지난 엑셀 다루기 포스팅에 이어 Apache POI를 이용하여 워드에 데이터를 입력하는 방법에 대해 포스팅하려고 합니다.Maven 추가 및 Apache POI에 대한 내용은 지난 글을 확인해주세요.테스트 시나리오는 다음과 같습니다.웹에서 데이터 입력웹에서 입력된 데이터가 워드 샘플 파일에 저장저장된 워드 파일 다운로드 테스트를 위한 샘플 파일과 입력 화면을 만들었습니다. 데이터 전송은 POST 방식 Submit으로 넘깁니다. ex04.jsp EX04. Apache POI Word 데이터 쓰기 성명 메일 제출 서버단에 넘..
[Sprinig Boot]Apache POI를 이용한 워드 다루기 2021. 9. 13. -
JNDI 설정시에 단위테스트하는 방법을 소개합니다. WAS 영역에 DataSource를 설정하고 JNDI 방식을 이용하고 있다면 단위테스트 수행시 별도의 설정이 필요합니다. JNDI는 WAS 영역에 설정된 DB Connection 객체에 접근하기 위해 사용되는 기술입니다. 때문에 단위테스트를 진행할 때는 서버를 구동시키지 않기 때문에 context 설정 파일을 읽어도 이를 찾지 못하는 현상이 발생합니다. 설정 방법에 들어가기 앞서, 테스트 타겟은 아래와 같습니다. 테스트 단위 Controller : CafeController Method : getMenu() CafeController.java @RequestMapping(value = "/cmp/getMenu.ajax", method = { Reques..
[JUnit]JNDI 설정시 단위테스트 2021. 8. 23. -
스프링 시큐리티 인증 절차를 커스터마이징하는 과정을 소개합니다. 본 과정은 패스워드 암호화 작업시 반드시 필요한 작업인 것 같습니다.전체 소스는 GitHub에서 확인하실 수 있습니다.※ 작업환경Spring SecurityMyBatisTomcat9MariaDB기존에 로그인 인증 처리는 xml 파일 설정에 의해 되고 있습니다.( 태그)(변경전)security-context.xml 스프링 시큐리티의 인증 절차를 담당하고 있는 인터페이스가 있습니다.바로 AuthenticationProvider 입니다.해당 인터페이스를 구현한 구현체 클래스를 만들어 사용하면 DB에 저장되어 있는 패스워드(암호화되어 있고, 복호화는 불가능)와 로그인시 입력한 패스워드를 비교하여 인증을 처리할 수 있습니다. Auth..
[Spring Framework]Spring Security 인증 절차 커스터마이징 2021. 8. 3. -
이전 글에 이어 이번엔 aop를 이용해 로그를 기록하는 방법을 포스팅합니다. 테스트 코드 구조는 이전 글에서 참고해주세요.(Controller, Service, DAO, VO 등) AOP에서 공통 기능 모듈을 Aspect라고 정의합니다. Aspect는 기능을 정의한 Advice와 Advice가 적용될 Pointcut을 통해 실행됩니다. Advice가 실질적으로 기능이 구현된 구현체인 것이며, Advice는 Aspect가 Advice의 기능을 언제 실행할 지를 정의합니다. 그리고 기능이 적용될 대상을 Pointcut으로 설정합니다. 테스트 케이스는 데이터 저장 전과 후로 나누어 진행했습니다. 1. 데이터 저장 전 1) Advice를 정의할 클래스를 생성합니다. package com.study.util; i..
[Spring Framework]AOP를 이용한 Log 기록하기 2021. 2. 21.