본문 바로가기
백엔드/Spring

[spring] @AuthenticationPrincipal 권한 비교

by 작은소행성 2022. 12. 8.

 

 

controller

 public <U extends PrincipalDetails> MemberDto findMember(@AuthenticationPrincipal U principal
            , @Parameter(name = "page", in = ParameterIn.QUERY) Pageable pageable
    ) {
        return MemberService.findMember(principal, pageable);
    }

 

 

service

    @Override
    public MemberDto findMember(U principal, Pageable pageable) {
    
        memberService.findMember(pageable);
        
        // 권한 확인        
        if(principal.getAuthorities().toString().equals("[SUPER_ADMIN]")){
            System.out.println("!!!@@ [SUPER_ADMIN]");
        }else if(principal.getAuthorities().toString().equals("SUPER_ADMIN")){
            System.out.println("!!!@@ SUPER_ADMIN");
        }else if(principal.getAuthorities().toString().equals(AuthorityTypeEnum.SUPER_ADMIN)){
            System.out.println("!!!@@ AuthorityTypeEnum.SUPER_ADMIN");
        }
    }

 

해당 내용으로 로그인 정보를 가져 온다

principal.getAuthorities()

 

println 으로 출력해서 확인해보면 아래와 같은 결과를 확인할 수 있다. 

 

principal.getAuthorities()만으로 equals 를 확인하면 결과가 안나온다.

toString 으로 변환해주어야 한다. 

 

 

 

 

 

 

반응형