SPRING
-
[๊ตฌํ] Swagger 3.0 ์ ์ฉํด๋ณด๊ธฐSPRING/PROJECT 2024. 5. 6. 01:18
SwaggerOpen API(API ๋ช ์ธ ํ์ for REST APIs)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก API๋ฌธ์๋ฅผ ์๋์ผ๋ก ์์ฑํ์ฌ HTML๋ก ๋ง๋ค์ด์ฃผ๋ ์คํ ์์ค ํ๋ ์์ํฌ ์ ์ฉํด๋ณด๊ธฐbuild.gradle์ ์์กด์ฑ ์ถ๊ฐimplementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0' ๋ง ํ๋ฉด! @Controller ์ ๋ ธํ ์ด์ ๊ณผ @XXXXMapping ์ ๊ธฐ์ค์ผ๋ก API ๋ฌธ์๋ฅผ ๋ง๋ค์ด์ค๋ค. ํ์ง๋ง ๋ ์์ ๋ฌธ์๋ฅผ ๋ง๋ค์ด๋ณด์ Swagger ๋ฌธ์์ ์ค๋ช ๋ถ์ด๊ธฐ์ง๊ทนํ ๊ฐ์ธ์ ์ธ ๋์ ์์์ด๋ค.//1@Configuration@SecurityScheme(type = SecuritySchemeType.APIKEY, name = "Authorization",..
-
[๊ตฌํ] Spring Security 6.1 ์ด์ ๋ฒ์ ์ ์ฉ, ์ค์ ํ๊ธฐSPRING/PROJECT 2024. 5. 2. 02:07
์ด์ ์คํ๋ง ์ํ๋ฆฌํฐ ์๊ฐ ๊ธ์์ ์ด์ด์ ๊ฐ๋๋ค [๊ตฌํ] Spring Security ์ ์ฐ๋๋ฐ?Srping Security๋?์ ์ by ๊ณต์๋ฌธ์๊ฐ๋ ฅํ๊ณ ์ฌ์ฉ์ ์ ์๊ฐ ๊ฐ๋ฅํ ์ธ์ฆ ๋ฐ ์ก์ธ์ค ์ ์ด ํ๋ ์์ํฌ Spring ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์์ (์ฌ์ค์์) ํ์ค ํน์ง์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ์ ๋ํ ํฌ๊ด์ ์ด๊ณ ํdowlsovo.tistory.comSecurityFilterChain ์ค์ ํ๊ธฐ์์กด์ฑ ์ถ๊ฐ**gradle**implementation 'org.springframework.boot:spring-boot-starter-security'+ ํ ์คํธ์์๋ ํ์ํ๋ค๋ฉด testImplementation 'org.springframework.security:spring-security-test'**maven** ..
-
[๊ตฌํ] Spring Security ์ ์ฐ๋๋ฐ?SPRING/PROJECT 2024. 5. 2. 01:58
Spring Security๋?์ ์ by ๊ณต์๋ฌธ์๊ฐ๋ ฅํ๊ณ ์ฌ์ฉ์ ์ ์๊ฐ ๊ฐ๋ฅํ ์ธ์ฆ ๋ฐ ์ก์ธ์ค ์ ์ด ํ๋ ์์ํฌ Spring ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์์ (์ฌ์ค์์) ํ์ค ํน์ง์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ์ ๋ํ ํฌ๊ด์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ง์session fixation(์ ํจํ ์์ฒญ ํ์ด์ฌํน), clickjacking(์น์ฌ์ดํธ ์ฌ์ฉ์๋ฅผ ์์ฌ ์์ ๋ ๋ชจ๋ฅด๊ฒ ์ ์ฑ ๋งํฌ๋ฅผ ํด๋ฆญํ๋๋ก ํ๋ ์ธํฐํ์ด์ค ๊ธฐ๋ฐ ๊ณต๊ฒฉ), CSRF(์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ๊ทธ๋ค์ด ํ์ฌ ์ธ์ฆ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฒญ์ ๋ณด๋ด๋๋ก ๊ฐ์ํ๋ ๊ณต๊ฒฉ) ๋ฑ๊ณผ ๊ฐ์ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธ์๋ธ๋ฆฟ API ํตํฉ ๐ก ํ์ฅ์ฑ์ด ํน์ง์ธ ํ๋ ์์ํฌ์ธ๋งํผ, ์ฌ์ฉ ๋ฒ์ ์ ๋ต์ด ์์ต๋๋ค!! Spring Security ArchitectureSpring Security๋ Servlet Filter๋ฅผ..
-
[์ ๋ณด] IntelliJ์์ Querydsl ์ธ ๋ clean build, build ํ ๋ฒ์ ์ํํ๊ธฐSPRING/PROJECT 2023. 9. 26. 09:54
Querydsl์ ์ฌ์ฉํ๊ธฐ ์ํด์ clean build๋ฅผ ์ํํ ๋ค์ application์ ์คํํด์ผํฉ๋๋ค. IntellJ์์ ํ ์คํธ ํ ๋ ์ด ๊ณผ์ ์ ํ ๋ฒ์ ์คํ์ํฌ ์ ์๋๋ก ๋ง๋ค๊ฒ ์ต๋๋ค. ๋
-
[๊ตฌํ] Spring์์ Firebase ํธ์์๋ฆผ ๊ตฌํํ๊ธฐSPRING/PROJECT 2023. 9. 26. 02:52
Firebase ํ๋ก์ ํธ ์ธํ ํ๊ธฐhttps://firebase.google.com/?hl=ko Firebase | Google’s Mobile and Web App Development PlatformDiscover Firebase, Google’s mobile and web app development platform that helps developers build apps and games that users will love.firebase.google.comfirebase ์น์ฌ์ดํธ์ ๋ค์ด๊ฐ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํด์ค๋๋ค.ํ๋ก์ ํธ ์ด๋ฆ๊ณผ ํจ๊ป ํ๋ซํผ์ ์ ํํ๋ผ๊ณ ๋์ต๋๋ค. ํ์ํ client ํ๋ซํผ์ ๋ชจ๋ ์์ฑํด์ ์ํค๋ ๋๋ก ํด์ค์๋ค. ์ด ๋ client ๊ฐ๋ฐ์๋ค์๊ฒ ์ด๊ฑฐ ๋ณด๊ณ ์ด๋๋ก ํด๋ฌ๋ผ๊ณ ํฉ์๋ค..
-
[๊ตฌํ] Spring์์ ์นด์นด์คํก ๋ก๊ทธ์ธSPRING/PROJECT 2023. 9. 25. 01:17
๊ณํ ํด๋ผ์ด์ธํธ ์นด์นด์คํก ๋ก๊ทธ์ธ์ ์คํํ์ฌ ์๋ฒ์ ์นด์นด์คํก ์๋ฒ์์ ๋ฐ์ access_token์ ๋๊ฒจ์ค๋ค. โฌ ์๋ฒ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฐ์ access_token์ผ๋ก ์นด์นด์คํก ์๋ฒ์์ ํด๋น User ์ ๋ณด๋ฅผ ๋ถ๋ฌ์จ๋ค. ํ์ํ ์ ๋ณด์ ํจ๊ป User๋ฅผ ์์ฑํด DB์ ์ ์ฅํ๋ค. ์ฐ๋ฆฌ ์๋น์ค์์ ์ธ ์ ์๋ JWT ํ ํฐ์ ์์ฑํ๋ค. ํด๋ผ์ด์ธํธ์๊ฒ JWT ํ ํฐ์ ๋๊ฒจ์ค๋ค. โฌ ํด๋ผ์ด์ธํธ ํค๋์ JWT ํ ํฐ์ ๋ฃ์ด request ํจ์ผ๋ก์จ ์๋ฒ๊ฐ ํ์ฌ User ์ ๋ณด๋ฅผ ์ ์ ์๊ฒ๋ ํ๋ค. ์์ธ์ค ํ ํฐ ๋ฐ์์ค๊ธฐ ์ฐ๋ฆฌํํ ํ ์คํธ์ฉ ์์ธ์ค ํ ํฐ์ด ํ์ํ๋ค. ์ง๊ธ ์งค ์ฝ๋๋ ์ค์ API๋ก ๋ ธ์ถ๋๋ ๊ฒ์ด ์๋, ๊ด๋ฆฌ์์ฉ์ผ๋ก ์ฌ์ฉํ ํ ์คํธ ์ฝ๋์ด๋ค. Controller์ ์๋ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ค๋ค. @PostMapping("/mana..
-
[๊ตฌํ] Spring์์ ์๋ฌ๋ฅผ ๋ด๋ 3๊ฐ์ง ๋ฐฉ๋ฒSPRING/PROJECT 2023. 4. 2. 21:48
ํ๋ก์ ํธ์์ ์๋ฌ๋ฅผ ๋ผ ๋ ๋ด๊ฐ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ด ์ธ ๊ฐ์ง์ด๋ค. ResponseEntity ์ฌ์ฉ Custom ์์ธ ํด๋์ค ๋ง๋ค๊ธฐ ControllerAdvice ์ฌ์ฉํ๊ธฐ ๊ฐ์ธ์ ์ผ๋ก ์์ฃผ ๊ฐ๋จํ ํ๋ก์ ํธ๊ฐ ์๋๋ผ๋ฉด 3๋ฒ์ ์ถ์ฒํ๋ค. ํ๋์ฉ ๋ด๋ณด์๋ฉด, 1. ResponseEntity ์ฌ์ฉ ์ค๋ช ํ ๊ฒ ์์ ์ ๋๋ก ๋งค์ฐ ๊ฐ๋จํ ๊ฒ์ด ์ฅ์ ์ด๋ค. ๋จ์ ์ ์ฝ๋๊ฐ ์ง์ ๋ถํด์ง๋ค๋ ์ ์ด๋ค. new ResponseEntity({๋ณด๋ผ ๋ฐ์ดํฐ}, HttpStatus.{status}); ์ด ํ ์ค๋ง ๋ฆฌํดํ๋ฉด ๋๋ค. ํ์ง๋ง ์์ธ์ฒ๋ฆฌํ ๊ฒ ์ฌ๋ฌ๊ฐ๊ฐ ๋๋ฉด ๋๋ฌด ๋ณต์กํด์ง๋ค. @PostMapping("/users/login") public ResponseEntity socialLogin(@RequestBody UserDto.LoginDt..
-
[๊ฐ์] ์คํ๋ง MVC 2ํธ - ๋ฐฑ์๋ ์น ๊ฐ๋ฐ ํต์ฌ ๊ธฐ์ 4SPRING/INFLEARN 2023. 3. 20. 19:49
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2 ์คํ๋ง MVC 2ํธ - ๋ฐฑ์๋ ์น ๊ฐ๋ฐ ํ์ฉ ๊ธฐ์ - ์ธํ๋ฐ | ๊ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ํ์ํ ๋ชจ๋ ์น ๊ธฐ์ ์ ๊ธฐ์ด๋ถํฐ ์ดํดํ๊ณ , ์์ฑํ ์ ์์ต๋๋ค. MVC 2ํธ์์๋ MVC 1ํธ์ ํต์ฌ ์๋ฆฌ์ ๊ตฌ์กฐ ์์ ์ค๋ฌด ์น ๊ฐ๋ฐ์ ํ์ํ ๋ชจ๋ ํ์ฉ ๊ธฐ์ ๋ค์ ํ์ตํ ์ ์ www.inflearn.com 4. ๊ฒ์ฆ1 - Validation โป ๊ฒ์ฆ ์ปจํธ๋กค๋ฌ์ ์ค์ํ ์ญํ ์ค ํ๋๋ HTTP ์์ฒญ์ด ์ ์์ธ์ง ๊ฒ์ฆํ๋ ๊ฒ์ด๋ค. ํด๋ผ์ด์ธํธ ๊ฒ์ฆ์ ์กฐ์์ด ๊ฐ๋ฅํ์ฌ ๋ณด์์ ์ทจ์ฝํ๋ฉฐ, ์๋ฒ๋ง์ผ๋ก ๊ฒ์ฆํ๋ฉด ์ฆ๊ฐ์ ์ธ ๊ณ ๊ฐ ์ฌ์ฉ์ฑ์ด ๋ถ์กฑํด์ง๋ฏ๋ก ์ด ๋์ ์ ์ ํ ์์ด์ ์ฌ์ฉํ๋ค. ์ต์ข ์ ์ธ ์๋ฒ ๊ฒ์ฆ์ ํ์๋ค. ..