[스프링 시큐리티 JWT] 세션 정보

코린이서현이·2024년 6월 19일
0
post-thumbnail

들어가면서

저번에 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;
    }
}

profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글