반응형
안녕하세요 모각코 3일차입니다.
원래는 객체지향의 사실과 오해를 모두 읽어보려하였으나 건강상의 문제로 책이 눈에 들어오지 않아 목표를 변경하여 spring security를 공부해보려합니다.
spring security를 공부하기 위해 프로젝트를 하나 생성했습니다.
build.gradle에 의존성을 이렇게 추가했습니다.
jpa, mustache, security, web, lombok, devtools, mysql, 각종 test 의존성들
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-mustache'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}
폴더 구조는 이렇게 만들었습니다.
IndexController.java
@Controller // view를 리턴
public class IndexController {
@GetMapping("/")
public String index() {
// 머스테치 기본 폴더 src/main/resorces/
// viewResolver : templates (prefix), .mustache (suffix) 생략 가능
return "index"; // src/main/resources/index/mustache 로 되어있음
}
}
WebMvcController.java
이는 .html 또한 .mustache로 인식할 수 있게 해주는 과정입니다.
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
// .html 도 mustache 파일로 인식됨
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
MustacheViewResolver resolver = new MustacheViewResolver();
resolver.setCharset("UTF-8");
resolver.setContentType("text/html; charset=UTF-8");
resolver.setPrefix("classpath:/templates/");
resolver.setSuffix(".html");
registry.viewResolver(resolver);
}
}
/src/main/resources/templates/index.html
<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>인덱스 페이지</title>
</head>
<body>
<h1>인덱스 페이지입니다. </h1>
</body>
</html>
이 설정을 마치고 localhost:8080으로 들어가게 되면 로그인 페이지가 나옵니다.
security를 사용한 뒤로는 모든 페이지는 key가 없으면 들어갈 수 없게 됩니다.
프로젝트를 실행하게 되면 security password가 발급되는데 username에는 user
password에는 이 password를 복사해서 사용하면 됩니다.
그러면 페이지가 나옵니다.
메타코딩님의 강의를 들으며 공부했습니다.
반응형
'2023 여름 모각코 - 절개와지조' 카테고리의 다른 글
[모각코 / 230822] spring security OAuth 로그인 구현하기 (0) | 2023.08.19 |
---|---|
[모각코 / 230720] spring security 를 이용해 로그인 구현하기 (@EnableGlobalMethodSecurity) (0) | 2023.08.17 |
[모각코 / 230716] spring security를 이용해 회원가입 구현하기 (0) | 2023.08.17 |
[모각코 / 230708] 객체지향의 사실과 오해 - 이상한 나라의 객체 (0) | 2023.07.11 |
[모각코 / 230706] 객체지향의 사실과 오해 - 협력하는 객체들의 공동체 (0) | 2023.07.11 |