니르바나
1k
2020-01-14 16:26:48
3
237

SPA 구현시 서버와 클라이언트 구분시 권한에 따른 사이트 접근 제한 구현법 문의


장고 템플릿을 쓴다면

템플릿안에서 요청한 유저정보를 바로 접근할 수 있으니 구현이 비교적 간단한데..


vue와 분리해버리면 뷰쪽도 페이지 접근제한 코드를 짜고,

django 쪽에서도 rest api 호출 시 접근제한 에러 메시지를 보여주거나 redirect해주는 코드를 짜야하는건가요??


이게 일반적인 구현방식인건지 궁금합니다.

이렇게 하려고보니 client 단에서 알아야할 정보들도 꽤나 늘어나는것 같고,

접속 중에 권한 변경 시 권한 업데이트 문제도 있구요.

접속 중 권한 변경 시 권한 업데이트를 바로해주려면 매번 유저 권한에 대한 정보를 호출해야한다는게 되잖아요~? 너무 비효율적인것 같다는 생각이 들어서 여쭤봅니다..

어떤 api를 호출하던 관계없이 유저 권한 정보를 항상 담아서 보낼 수 밖에 없는건가요?  

0
  • 답변 3

  • ShipJH
    1k
    2020-01-14 16:50:00 작성 2020-01-14 16:50:30 수정됨

    어떤 인증을 사용할지 몰라서 일단 JWT기준

    JWT로 해당 매 url 호출시 페이로드에 유저정보 읽어서 다시 담는수밖에 없을것 같은데요...

    접속중에 권한변경을 체크하려면... 매호출시 현재 갖고있는 정보와 DB의 정보를 매칭해줘야 되지 않을까 합니다.

  • 원푠듯
    290
    2020-01-14 17:35:31

    다른 API들도 그렇듯이 헤더에 토큰 형태로 담아서 그때그때 체크하는 게 제일 좋다고 봅니다.

    만약 DB에 기록된 정보와 토큰에 기록된 정보가 상이하면 재인증 요구하는 방식으로 하는 게 좋을 듯하네요.


    웹앱의 단점이랄까... 보안 신경쓰기가 다소 까다롭긴 합니다.

  • 니르바나
    1k
    2020-01-14 19:15:40

    감사합니다.

    어찌됐던 호출시마다 체크해주는 방법 외에는 없나보네요.

  • 로그인을 하시면 답변을 등록할 수 있습니다.