들어가면서
저번에 jwt 방식은 세션을 안쓴다고 했잖아요..!! 라고 생각할 수도 있다.
하지만!! jwt 필터를 통과하면 일시적인 세션이 생긴다는 것~!
세션 정보
- jwt 필터를 통과하면 일시적인 세션이 생긴다는 것~!
구현해보기
package com.jwt.jwtstudy_youtube.controller;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Collection;
import java.util.Iterator;
@Controller
@ResponseBody
public class AdminController {
@GetMapping("/admin")
public String admin() {
String username = SecurityContextHolder.getContext().getAuthentication().getName();
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
Iterator<? extends GrantedAuthority> iter = authorities.iterator();
GrantedAuthority auth = iter.next();
String role = auth.getAuthority();
return "현재 사용자의 이름: " + username + " 현재 사용자의 권한: "+role;
}
}