spring-project 32

Spring Boot 에서 JSP 사용하기 위한 라이브러리 추가

maven (pom.xml) org.apache.tomcat.embed tomcat-embed-jasper javax.servlet jstl gradle (build.gradle) #jsp spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp application.properties 에 다음과 같은 설정 추가 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl:1.2' /main/webapp/WEB-INF/jsp/ 와 같이 디렉토리 만들고 jsp 파일 생성

spring-project 2019.09.13

Spring Boot 최초 실행 시 'Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. '

Spring Boot 초기 프로젝트를 Initializr를 통해서 생성 한 뒤 최초 실행 할 경우 다음과 같은 오류가 발생하면서 정상적으로 실행이 되지 않을 경우. *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you wan..

spring-project 2019.09.10

Spring Security를 이용한 Basic Authentication

Spring Security를 이용한 REST API Basic Authentication Basic Authentication이란? REST API 인증을 할 때, username, password로 인증을 하는 방법을 말한다.username, password를 입력하면 Client에서 username + password를 base64 인코딩을 이용하여 매 request 마다 서버에 전달하면서버에서는 이를 가지고 사용자인지 아닌지 판단 한다. base64 인코딩을 사용하기 때문에 인코딩 된 문자열이 노출이 되면 쉽게 username, password를알수 있다. SpringSecurity를 이용한 구현package com.quickguide.backend.config; import com.quickgu..

spring-project 2019.03.01

REST API 인증 방법

REST API 인증 방법 인증(Authentication) 과 인가(Authorization)란? 1. 인증(Authentication) - 사용자인지 아닌지를 확인. 주로 아이디/패스워드 인증이 많이 사용되나 생체인식 등의 인증도 사용. 2. 인가(Authorization) - 사용자가 권한이 있는지 없는지 확인하여 해당 행위를 제한하거나 가능하게 하게 함. REST API 인증 방법. 1. HTTP Basic Authentication- 사용자 이름과 암호 Base 64 인코딩을 하여 서버로 전송.- 요청 할 때 마다 사용자 이름과 암호를 전송해야 한다.- Man-in-the-middle attack.에 취약하다. 2. Cookies and Session- 세션은 키를 사용자 아이디에 매핑합니다.-..

spring-project 2019.03.01

Spring Security Custom UserDetailsService 구현하기

Spring Security Custom UserDetailsService(DB) 구현하기 이전에는 다음과 같이 USER를 메모리에 저장해놓고 Spring Security의 테스트를 하였다. @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { // add our Users for in memory authentication auth.inMemoryAuthentication().withUser("user").password("password").roles("USER"); } 하지만 실제로는 이렇게 사용하지 못하고 대부분 DB 등의 저장소에 사용자의 정보를 저장해놓고 사용해야 한다. 여기서는 DB에 저..

spring-project 2019.02.24

Spring Boot에 Spring Security 적용하기 (Spring Security Java Config)

Spring Boot에 Spring Security 적용하기 (Spring Security Java Config) Spring Boot에 Spring Security를 적용하기 위해서 할 일은 Spring Security Library를 추가(라이브러리를 classpath에 추가) 하기만 하면 된다. 초기 프로젝트 생성 시에 다음과 같이 라이브러리를 추가해주었다. dependencies { .... implementation 'org.springframework.boot:spring-boot-starter-security' .... } Spring Security가 적용되면 기본 설정이 적용되어 모든 HTTP endpoints의 접근에 인증을 해야 한다. 기본적인 설정으로는 사용할 수 없기 때문에 설정을..

spring-project 2019.02.23

Spring Boot Hello World 출력하기

Spring Boot Hello World 출력하기 package com.quickguide.backend.hello.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorldController { @RequestMapping("/") public String hello() { return "Hello World!!"; } } 스프링 시큐리티가 적용되어 있으므로 기동시 나오는 로그인을 하면 hello world!! 가 출력된다.

spring-project 2019.02.23