-

๐์๋ ํ์ธ์. ๊น์์ธ์ ๋๋ค.
์ด๋ฒ ๊ธ์์ ์คํ๋ง ์ํ๋ฆฌํฐ๊ฐ ๋ญ์ง ์์๋ณด๊ธฐ ์ํด ๊ฐ๋จํ ํ ์คํธ๋ฅผ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
์ผ๋จ ์ฒซ ๋ฒ์งธ๋ก ํ์ํ ์ปจํธ๋กค๋ฌ ๋จผ์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค.

๊ทธ๋ฅ ๊ฐ์ ๊ฒฝ๋ก์ SecurityController ์์ฑ SecurityController
@RestController class SecurityController { @GetMapping("/") fun index(): String{ return "home" } }Get๋ฉ์๋๋ก ๊ฐ๋จํ homeํ ์คํธ๋ง ๋ฆฌํดํ๋๋ก ๊ตฌ์ฑ ํ ์คํ์์ผ ๋ณด๊ฒ ์ต๋๋ค.

home์ด helloworld๋ก ๋ณด์ด๋๋ฐ ํน์ ๋๋ง ๊ทธ๋ฐ๊ฐ.. ๊ท์ฌ์ด home์ด ์ง์ ํ๊ณ ์ ๋์ต๋๋ค.
ํ์ง๋ง ์ด๊ณณ์ ์๋ฌด๋ฐ ๋ณด์์กฐ์น๊ฐ ์์ด ๋๊ตฌ๋ ๋ค์ด์ฌ ์ ์๊ธฐ ๋๋ฌธ์ ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ ์ฉํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋จผ์ ์คํ๋ง์ํ๋ฆฌํฐ๋ฅผ ์์กด์ฑ ์ฃผ์ ํด์ผ ํ๋ build.gradle.kts๋ก ๊ฐ๋ณด๊ฒ ์ต๋๋ค.
build.gradle.kts
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "2.7.0" id("io.spring.dependency-management") version "1.1.4" kotlin("jvm") version "1.9.21" kotlin("plugin.spring") version "1.9.21" } group = "io.security" version = "0.0.1-SNAPSHOT" java { sourceCompatibility = JavaVersion.VERSION_11 } repositories { mavenCentral() } dependencies { implementation("org.springframework.boot:spring-boot-starter-web") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.springframework.boot:spring-boot-starter-security") //์คํ๋ง ์ํ๋ฆฌํฐ ์์กด์ฑ ์ฃผ์ ! testImplementation("org.springframework.boot:spring-boot-starter-test") } tasks.withType<KotlinCompile> { kotlinOptions { freeCompilerArgs += "-Xjsr305=strict" jvmTarget = "11" } } tasks.withType<Test> { useJUnitPlatform() }dependencies ๋ถ๋ถ์ implementation("org.springframework.boot:spring-boot-starter-security") ๋ฅผ ์ถ๊ฐ ํ gradle๋ฅผ ๋ค์ ๋ก๋ํ๊ณ ์คํํด ๋ณด๊ฒ ์ต๋๋ค.

๋ง๋ ์ ์๋ ํ๋ฉด์ด ๋ ๋นํฉํ๊ฒ ํ์ง๋ง ๋ก๊ทธ์ธ ํ๋ฉด์ ๋ง๋ ์ ์ด ์์ง๋ง ๋นํฉํ์ง ๋ง์ธ์. ์คํ๋ง ์ํ๋ฆฌํฐ๊ฐ ๋ก๊ทธ์ธํ๋ฉด๋ ๊ธฐ๋ณธ์ผ๋ก ๋ง๋ค์ด์ค๋๋ค.
์ด์ ๋ถํฐ๋ ๋ก๊ทธ์ธ์ ํด์ผ๋ง ์๊ณ ๊ท์ฌ์ด "home" ํ ์คํธ๋ฅผ ๋ง๋ ์ ์๊ฒ ๋์์ต๋๋ค.
ํ์ง๋ง ๊ณ์ ๊ณผ ํจ์ค์๋ ๋ํ ๋ง๋ ์ ์ด ์์ง๋ง ๋นํฉํ์ง ๋ง์ธ์. ์คํ๋ง ์ํ๋ฆฌํฐ๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ฃผ๋ ๊ณ์ ์ด ์๋ต๋๋ค.
์์ด๋๋ "user", ํจ์ค์๋๋ ๋๋ค ํ๊ฒ ์ง์ ๋๋๋ฐ ์ฝ์์ฐฝ์ ํ์ธํ๋ฉด ์ ์ ์์ต๋๋ค.

์ค๊ฐ์ ์๋ Using generated security password ๊ฐ ํจ์ค์๋ ์ด ์ ๋ณด๋ก ๋ก๊ทธ์ธํ๋ฉด ์๊ณ ๊ท์ฌ์ด home ํ ์คํธ๋ฅผ ๋ค์ ๋ง๋ ์ ์์ต๋๋ค.
์คํ๋ง ์ํ๋ฆฌํฐ
์๋ฒ๊ฐ ๊ธฐ๋ ๋๋ฉด ์คํ๋ง ์ํ๋ฆฌํฐ์ ์ด๊ธฐํ ์์ ๋ฐ ๋ณด์ ์ค์ ์ด ์ด๋ฃจ์ด์ง๋๋ฐ, ๋ณ๋์ ์ค์ ์ด๋ ๊ตฌํ์ ํ์ง ์์๋ ๊ธฐ๋ณธ์ ์ธ ์น ๋ณด์ ๊ธฐ๋ฅ์ด ํ์ฌ ์์คํ ์ ์ฐ๋๋์ด ์๋ํฉ๋๋ค.
- ๋ชจ๋ ์์ฒญ์ ์ธ์ฆ์ด ๋์ด์ผ ์์์ ์ ๊ทผ์ด ๊ฐ๋ฅ
- ์ธ์ฆ ๋ฐฉ์์ ํผ ๋ก๊ทธ์ธ ๋ฐฉ์๊ณผ httpBasic๋ก๊ทธ์ธ ๋ฐฉ์์ ์ ๊ณต
- ๊ธฐ๋ณธ๋ก๊ทธ์ธ ํ์ด์ง ์ ๊ณต
- ๊ธฐ๋ณธ ๊ณ์ ํ ๊ฐ ์ ๊ณต (user / ๋๋ค ๋ฌธ์์ด)
ํ์ง๋ง ๊ณ์ ์ด ํ ๊ฐ๋ง ์ ๊ณต๋๋ฏ๋ก ์ฌ๋ฌ ๊ณ์ ๊ณผ ๊ถํ ๋ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ด ํ์ํ๊ฒ ์ต๋๋ค. ๋ํ ์์ฃผ ๊ธฐ๋ณธ์ ์ธ ๋ณด์๊ธฐ๋ฅ์ด๋ฏ๋ก ์ธ๋ถ์ ์ด๊ณ ์ถ๊ฐ์ ์ธ ๋ณด์๊ธฐ๋ฅ์ด ๋ ํ์ํฉ๋๋ค.
'Spring > Spring Secutiry' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring Security] Form Login ์ธ์ฆ Api ์ฌ์ฉํ๊ธฐ (0) 2024.01.09 [Spring Security] ์ฌ์ฉ์ ์ ์ ๋ณด์ ๊ธฐ๋ฅ ๊ตฌํ (0) 2024.01.09