해결된 질문
작성
·
144
0
안녕하세요 강의를 다 완강하고 프론트가 SSR인 템플릿 엔진으로 구성되어 있던 노드 서버를 리팩토링 중에 있습니다.
궁금한게 있어서 여쭈어 봅니다.
관리자 페이지를 따로 구성하려고 하는데, SPA 에서는 접근 권한을 어떻게 설정하는게 좋은가요?
유저의 role 을 다르게 설정하여 라우팅을 관리하는것 같은데, SPA의 특성상 모든 페이지를 다 받아 오는것이니 충분히 클라이언트에서 state에 있는 role 을조작이 가능할 것 같다는 생각이 드는데, 이 경우 백엔드에서 한번 더 필터링이 필요하다 생각됩니다. 선생님은 어떠한 식으로 실무에서 서버에서 거르시는지 궁급합니다.
연장선에 있는 이야기 같은데, 현재 passport를 이용하여 session을 캐싱하여 사용하고 있습니다. 이 경우 hoc를 이용하여 페이지 라우팅 마다 Axios를 통한 http response 값에서 리덕스 스토어에 dispatch 할 때, body 값인 payload: request 뿐만 아니라 cookie 값도 따로 리덕스 스토어에 저장해서 관리하면 되는 걸까요?
감사합니다!
답변 2
0
0
안녕하세요 ^^
되게 멋있으시네요 !!
우선 프론트에서 필터링 같은경우는 현재 하고 있듯이 라우팅 제한으로 하시면 되시고,
백엔드에서는 따로 middleware를 만드셔서 필터링이 가능합니다 ^^
현재 여기서는 auth 라는 미들웨어를 만들었잔아요 ?
거기에 하나더 admin이라는 미들웨어를 만들수 있겠네요 !
middleware 폴더 안에
admin.js 라는 파일을 만든후에
이런식으로 role에 따라서 관리해주시면 됩니다.
그래서 이 미들웨어를
이런식으로 적용해주시면 됩니다 !
아 그리고 cookie 는 저장 위치는 개인의 선호에 따라 달리 하셔도 됩니다.
리덕스에 저장하셔도 되고 기본적으로 저장되는 곳에 해서 관리하셔도 됩니다 ~ !