일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- java
- Public
- OS
- 자바
- 깃허브
- package-private
- 이펙티브 자바
- 알고리즘
- 운영체제
- Effective Java
- 컴퓨터과학
- CS
- 개발
- 메모리
- github
- 깃
- 공채
- 프로그래밍
- 스터디
- IT
- 세마포어
- 뮤텍스
- 정보처리기사
- spring
- 컴퓨터공학
- 신입사원
- 스프링
- 신입
- 디지털
- 우리카드
Archives
- Today
- Total
주니어 개발자 성장기
1. 설정 본문
가이드 참고
일단 Spring Security를 통한 인증을 먼저 구현하기 위해 Spring Security Guide 를 참고한다.
Getting Started | Securing a Web Application
프로젝트 셋업
https://start.spring.io/ 를 통해 프로젝트를 생성하면 된다. 설정은 다음과 같이 했다.
- 스프링 3.xxx 부터 자바 17이상 사용을 권장한다.
- 가이드에 의존성은
Spring Web
,Thymeleaf
2가지를 추가하라고 되어 있지만, 나중에 필요한 의존성들도 추가해 주었다. - Generate 해서 압축을 풀고 IDE 통해 열어주자.
Gradle 설정
최초에는 Redis를 사용하지 않을 것이기 때문에 build.gradle
에서 주석 처리해주자.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
//Redis
// implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive'
// implementation 'org.springframework.session:spring-session-data-redis'
//Spring Security
// implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
// implementation 'org.springframework.boot:spring-boot-starter-security'
// implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
// testImplementation 'org.springframework.security:spring-security-test'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.projectreactor:reactor-test'
}
유의할 점
- 만약
Redis
를 포함해서 빌드하면 요청시에Redis
를 찾을 수가 없다는 런타임 에러가 뜬다. - Spring Security도 뒤에 나올 웰컴 페이지 생성을 위해 잠시 비활성화 한다.
웰컴 페이지 생성
테스트용 동적 페이지를 생성한다.
src/main/resources/templates
에
hello.html
과 home.html
을 아래와 같이 만들어넣어준다.
hello.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="https://www.thymeleaf.org">
<head>
<title>Spring Security Example</title>
</head>
<body>
<h1>Welcome!</h1>
<p>Click <a th:href="@{/hello}">here</a> to see a greeting.</p>
</body>
</html>
home.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="https://www.thymeleaf.org">
<head>
<title>Spring Security Example</title>
</head>
<body>
<h1>Welcome!</h1>
<p>Click <a th:href="@{/hello}">here</a> to see a greeting.</p>
</body>
</html>
View Controller 설정
src/main/java/com/jp/session/config
경로에 다음과 같은 MvcConfig.java
를 만들어 준다.
@Configuration
public class MvcConfig implements WebMvcConfigurer {
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/home").setViewName("home");
registry.addViewController("/").setViewName("home");
registry.addViewController("/hello").setViewName("hello");
registry.addViewController("/login").setViewName("login");
}
}
위 설정을 통해 View Controller 4가지가 추가됐다.
서버 기동 확인
서버를 기동하고, 브라우저에서 http://localhost:8080
에 들어가 확인해본다.
위와 같은 페이지가 나오면 성공이다.
Git Repo:
GitHub - wnsvy607/Spring-Security-Session-Practice: 스프링 시큐리티로 세션 구현하기 연습
2023.05.17 추가
위의 Spring Security 예제는 의미가 없을 정도로 너무 간단해서 따로 포스팅 할 필요는 없다. 다음 포스팅에서는 Spring Security를 생략하고 바로 Spring Session으로 넘어간다.
'예제 > Session' 카테고리의 다른 글
4. Spring Security - 인증 과정 이해하기 (2) (0) | 2023.06.15 |
---|---|
3. Spring Security - 인증 과정 이해하기 (1) (0) | 2023.05.27 |
2. Spring Session (0) | 2023.05.18 |
0. 프로젝트 목적 (0) | 2023.05.16 |