feat : 권한별로 접근 가능한 API 추가
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
package com.banjjoknim.playground.jwt.domain.user
|
||||
|
||||
import com.banjjoknim.playground.jwt.config.security.PrincipalDetails
|
||||
import org.springframework.security.core.Authentication
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal
|
||||
import org.springframework.security.crypto.password.PasswordEncoder
|
||||
import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.PostMapping
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
@@ -18,4 +22,24 @@ class JwtUserController(
|
||||
jwtUserRepository.save(jwtUser)
|
||||
return "회원가입완료"
|
||||
}
|
||||
|
||||
// user 권한만 접근 가능
|
||||
@GetMapping("/api/v1/user")
|
||||
fun user(@AuthenticationPrincipal authentication: Authentication): String {
|
||||
val principalDetails = authentication.principal as PrincipalDetails
|
||||
println("Authentication: ${principalDetails.username}")
|
||||
return "user"
|
||||
}
|
||||
|
||||
// manager, admin 권한만 접근 가능
|
||||
@GetMapping("/api/v1/manager")
|
||||
fun manager(): String {
|
||||
return "manager"
|
||||
}
|
||||
|
||||
// admin 권한만 접근 가능
|
||||
@GetMapping("/api/v1/admin")
|
||||
fun admin(): String {
|
||||
return "admin"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user