본문 바로가기

웹프로그래밍

Spring Security를 적용해보자(2) Before Start. spring jpa에 대한 세팅이 끝난 다는 가정하에 진행되는 예제 입니다. jpa 세팅이 안되신 분은 https://writemylife.tistory.com/87?category=833540 참고 해주세요 Step1. 회원 클래스 만들기 user라는 이름으로 제공되는 클래스가 있기 때문에 보통, Account or Member로 회원 클래스를 만듭니다. 저는 Account로 진행 해보겠습니다. src/main/java/패키지명/Account 폴더를 만들고 그 아래 Account.java를 만듭니다. Account.java import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; i.. 더보기
Spring security 적용해보자(1) Step1. 스프링 시큐리티란 스프링 시큐리티를 간단하게 이해 해보겠습니다. 자바기반의 애플리케이션을 위한 포괄적인 보안서비스를 제공하는 오픈 플래폼이라고 생각하시면 됩니다. 또한 스프링 시큐리티를 활용해서 자신만의 인증 매커니즘을 만드는 것도 가능합니다. 스프링 시큐리티의 보안을 구성하는 두가지 영역이 있는데 인증(Authentication), 권한(Authorization)입니다. 인증은 로그인하는 과정등의 확인하는 절차이고 권한은 인증된 사용자가 가지고 있는 회원등급 같은 것 입니다. https://spring.io/guides/gs/securing-web/ Securing a Web Application this guide is designed to get you productive as quic.. 더보기
Spring security CSRF 프로텍션 Spring security를 이용해서 로그인을 구현하고 나니 위의 form 태그에 대해서 submit을 하니까 아래의 페이지가 떴다 처음에는 mapping 관련 문제인 줄 알고 고민하고 진짜 여러가지 시도를 하다가 혹시나 하는 마음에 Spring security 관련 부분을 모두 주석 처리하니까 다시 잘된다.... 이유는 multipart/form-data로 전송시 csrf프로텍션이 적용되서 그렇다고 한다. CSRF(Cross Request Forgery: 사이트 간 요청 위조)인데 보안 대책으로 필수적으로 요구 된다고 한다. csrf-multipart 관련 Spring Security Reference https://docs.spring.io/spring-security/site/docs/4.2.2... 더보기
Spring JPA를 사용해 보자~ 스프링 데이터 JPA 스프링 데이터 JPA는 JPA를 스프링에서 쉽게 사용할 수 있또록 도와주는 프레임워크로 내부적으로 하이버네이트를 이용해서 기능을 구현하고 있습니다. JPA(Java Persistence API)란 자바 객체와 데이터베이스 테이블 간의 매핑을 처리하는 ORM(Object Relational Mapping) 기술의 표준입니다. ORM이란 객체와 관계를 설정하는 것입니다. 객체와 관계형 데이터베이스를 매핑시킨다는 개념입니다. step1. 스프링 JPA 설정하기 build.gradle에 아래 코드를 추가합니다. implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.mybatis.sp.. 더보기
EC2에 스프링부트 프로젝트 배포하기(2) RDS 설정하기Amazon Relational Database Service(RDS)는 관계형 데이터베이스 서버를 구축/운용하기 위한 서비스입니다. 일반적으로 데이터베이스 서버의 운용은 백업/리스토어(Restore) 등의 데이터 관리 및 성능 튜닝이나 시큐리티 등 고도의 기술과 운용 스킬을 필요로 합니다만, RDS를 사용하면 AWS관리 콘솔과 CLI을 사용하여 데이터베이스를 쉽게 관리할수 있습니다. RDS도 자주 사용할 것이기 때문에 핀센 버튼을 누르고 RDS를 drag & drop해서 상단 바에 등록 해줍니다. 파라미터 그룹 생성상단의 RDS를 누른 후에 좌측 메뉴에서 파라미터 그룹을 누릅니다.DB Service를 이용할 때는 환경이나 시스템 요건에 맞게 문자 코드나 접속 수 등의 Parameter를 .. 더보기
EC2에 스프링부터 프로젝트 배포하기(1) 배포 하기 전에 Java와 Git을 EC2에 설치 하겠습니다. Java 8 설치 이전 글에서 만들었던 EC2의 JAVA 버전이 7이기 때문에 8으로 업데이트 하겠습니다. intellij ssh에서 AWS EC2에 접속해서 아래 명령어를 실행 합니다. sudo yum install -y java-1.8.0-openjdk-devel.x86_64 설치 완료 후에 인스턴스의 Java 버전을 8로 변경 합니다. sudo /usr/sbin/alternatives --config java 버전 변경후에 사용하지 않는 Java7은 삭제합니다. sudo yum remove java-1.7.0-openjdk그리고 현재 버전을 확인 해봅니다 java -version Git 설치 및 Clone 다음은 Git 설치 입니다. 위.. 더보기
Intellj에서 ssh로 EC2연결하기 window 환경에서 putty를 이용해서 연결할 수 있지만 Intellij를 통해 개발하고 있고 CLI 환경에서 서버를 세팅하고 싶어 시도해 보았습니다. Intellij에서 Tools -> Deployment -> Browse Remote Host를 클릭 합니다. 새롭게 뜬 창에서 ... 을 클릭합니다 Intellij 안에서의 연결할 서버 이름을 정합니다. 연결정보를 입력합니다. 호스트 이름, Port는 22번, user name은 밑에 설명에서 맞는 환경의 이름으로 입력하시면 됩니다. Authentication에서 key pair로 선택하고 EC2생성시 다운 받았던 key pair 파일을 선택합니다. 그리고 Test Connection을 클릭하면 연결이 성공했다고 나옵니다. Mappings 탭에서 파.. 더보기
EC2 서버 만들기 회원가입 1달러 이상이 들어있는 비자카드 있어야 하는 것 같다. 그외에 특별한 점은 없고 필요한 것들은 기록 하고 회원가입 하면 된다. 바로가기 등록 Ec2를 자주 사용할 것이기 때문에 상단에 바로가기를 등록해 보도록 하겠습니다. 빨간 박스의 아이콘을 클릭 하시면 아래화면 과 같이 됩니다 EC2 아이콘을 찾아서 마우스로 drag 해서 상단의 검은 바에 drop 해줍니다. 그 후에 상단 바에 생긴 EC2 아이콘을 클릭하면 위의 화면으로 이동합니다. 상단 바의 오른쪽에 서울 리전을 선택해 줍니다. 서울 리전 이외에서 인스턴스를 실행할 때는 목록에서 해당 리전을 선택합니다. 그리고 인스턴스 시작 버튼을 눌러줍니다. 그 다음은 AMI를 결정하는 화면 입니다. 구축하는 EC2의 가상 서버 OS를 정합니다. 참고로.. 더보기