반응형 공부/프로그래밍346 [SpringBoot] (Spring Security) 로그인 시 추가정보 User 에 담기 해당기능을 사용할 시 외부로그인 연동(네이버나 페이스북 로그인 등)시 세션처리에 문제를 겪을 수 있어 추천드리지 않습니다. 스프링 시큐리티에서는 로그인 하면 org.springframework.security.core.userdetails.User 클래스로 리턴하게 됩니다. 그리고 UserDetailService를 이용해 사용자 정보를 읽어냅니다.문제는 User 클래스는 username, password, authorities 등의 기본정보만 들어있습니다. 그래서 여기에 이메일이나 전화번호 등 추가정보를 넣어주려면 클래스를 새로 만들어주어야 합니다. 설정 순서는 다음과 같습니다.1) User 를 커스텀한 UserCustom 클래스를 작성.(Lombok 사용)2) UserDetailsService 인터페이.. 2018. 7. 5. [SpringBoot] JPA 설정 및 테스트 JPA 란? JPA는 자바진영의 ORM 기술표준입니다. ORM이란 object-relational-mapping 객체와 관계형데이터베이스 매핑을 의미하는 것인데 하이버네이트(Hibernate) 오픈소스 ORM프레임워크를 기반으로 기술표준이 만들어진것이 JPA입니다. JPA의 장점 JPA를 사용하는 이유는 생산성, 유지보수, 성능 등을 꼽는데 우선 SQL문을 작성하지 않아도 된다는 점과 데이터베이스 중심 설계에서 객체 중심 설계로 변경됩니다. 그리고 DB컬럼이 추가될 때마다 테이블 수정이나 SQL 수정하는 과정이 없습니다. 그리고 같은 트랜잭션에 select가 여러번 호출된다면, 한번만 데이터베이스와 통신하고, 두번째부터는 조회한 객체를 재사용 합니다. 그래서 가장 큰 장점 2가지를 꼽자면 생산성 향상(코.. 2018. 7. 4. [SpringBoot] Controller 테스트 작성하기.(Mybatis 테스트 포함) Controller의 URL호출에 작동하는지 확인하는 Test를 작성합니다. 해당 프로젝트에 Mybatis 연동을 마친상태라면(예를들어 @MapperScan 어노테이션을 이미 사용한 상태) 에러가 발생하니 @AutoConfigureMybatis 것을 반드시 추가합니다. 그러지 않으면 아래의 에러가 발생합니다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name '매퍼인터페이스명' defined in file (...) Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are .. 2018. 7. 3. [SpringBoot] 에러 페이지 핸들러 클래스 만들기. 에러가 날 경우 에러페이지로 이동을 하게된다. SpringBoot 경우는 에러가 나면 whitelabel 페이지로 이동하여 다음과 같은 에러를 발생시킨다. Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri Jun 29 18:29:14 KST 2018 There was an unexpected error (type=Not Found, status=404). No message available 에러페이지를 생성하려면 아래 클래스를 생성하자. /** * 에러페이지 핸들러 클래스 */ @Controller public class ErrorPageHand.. 2018. 7. 2. [JAVA] DAO, DTO, VO 차이 DAO 정의Data Access Object 의 약자로 데이터베이스의 data에 접근하기 위한 객체입니다.DataBase 접근을 하기 위한 로직과 비지니스 로직을 분리하기 위해 사용합니다. DAO의 경우는 DB와 연결할 Connection 까지 설정되어 있는 경우가 많습니다.그래서 현재 많이 쓰이는 Mybatis 등을 사용할 경우 커넥션풀까지 제공되고 있기 때문에 DAO를 별도로 만드는 경우는 드뭅니다. DAO 클래스 예제 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class TestDao { public void .. 2018. 7. 1. [StringBoot] thymeleaf 사용중 POST 에서 403 에러 발생 스프링을 템플릿중에 thymeleaf 이 있는데 이걸쓰다보면 POST 전송 시 crsf 를 사용하는 경우가 있다. crsf 란? 사이트 간 요청 위조(또는 크로스 사이트 요청 위조, 영어: Cross-site request forgery, CSRF, XSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다. 유명 경매 사이트인 옥션에서 발생한 개인정보 유출 사건에서 사용된 공격 방식 중 하나다. 사이트 간 스크립팅(XSS)을 이용한 공격이 사용자가 특정 웹사이트를 신용하는 점을 노린 것이라면, 사이트간 요청 위조는 특정 웹사이트가 사용자의 웹 브라우저를 신용하는 상태를 노린 것이다. 일단 사.. 2018. 6. 30. 이전 1 ··· 41 42 43 44 45 46 47 ··· 58 다음 반응형