모든 개발 단계에서 유저단은 쉬울수도 어려울수도 있다고 생각한다
백엔드든 프론트엔드든 유저 기능이 제일 먼저 만들어져야하고
(사실 이건 아닐수도 있다고 생각은 든다 하지만 첫 페이지니까 대부분은 맞다고 생각)
그렇다 보니 프로젝트를 하다 보면
첫 메인페이지(유저단)는 제일 잘하는 사람이 빨리 만들거나
배움이 조금 느린 사람이 있다면 그 사람은 유저단을 맡기게 된다
대부분 유저페이지나 유저 관련 API를 먼저 배우게 될테니까(개발계의 집합..?)
하지만 이 부분도 쉽게 보면 안될 것 같다는 생각이 매번 드는데
오늘은 관리자 계정에 대해서 한번 알아보려고 한다!
매번 느끼는 거지만 모든 웹페이지에서는 정말 토이토이토이프로젝트가 아니면
직접적이든 간접적으로든 관리자 계정이 필요하게 된다!
유저가 모르는 절대적인 관리자 계정이 생기거나(자사 직원이 관리자)
같은 유저 중에서도 권한이 차이가 있는관리자 계정이 생기거나(인터넷 카페 매니저 같은)
누가 봐도 관리자격인 공개적인 관리자 계정이 생기는 경우(쇼핑몰에서의 중간 거래상?)
하지만 필요에 따라서 데이터는 다르게 하는 경우가 맞다는 생각에 도달!
이 부분을 한번 나눠보고자 한다!
컨텐츠나 물품 관리를 해당 서비스 직원이 따로 관리 하는 경우!
이 경우에는 마케팅 / CS / 경영 직원이 관리자가 된다고 볼 수 있다
이 경우에는 따로 테이블을 분리하는 것이 낫다!
유저 테이블과 연관 짓기에는 그 목적이 확실하게 구분 되기 때문!
- 테이블의 독립(관리가 용이)
- 해당 직원이 회원가입 후 이용 또는 회원가입 및 승인 후 이용
- 부서 별로 권한을 따로 두는 것도 가능
- 관리자 페이지가 따로 존재(회원가입 및 관리 페이지)
같은 회원이지만 회원 간에 권한에 차이가 있는 경우이다!
굳이 명칭을 두자면 민간관리자?라고 할 수 있을수도 있고
소규모 서비스의 경우(팀원이 적어 관리자 기능을 따로 두기 힘든 경우 등)에도
이 경우로 보면 될 것 같다!
- 유저 테이블에 칼럼만 추가한 경우(간편)
- 일반 유저로 가입 후 일련의 인증절차나 관리자 권한 신청 후 권한 획득
- 관리자의 권한은 있냐 없냐로만 구별이 가능(세세한 분리 불가)
- 관리자 페이지가 따로 존재하지 않고 권한만 조금 큰 경우
(관리자 계정 로그인 시 버튼이 몇개 더 노출 되는 등)
토큰은 계속 해서 해당 유저의 정보를 알아야 하기 때문에 계속 사용하는게 좋다
대신 첫번째 유형과 두번째 유형은 페이로드 내용이 달라야 할 것이다
결국 배포 후 사이즈가 커지면
두번째 첫번째 유형으로 갈 수밖에 없는 구조이긴 한것 같다
하지만 한번쯤은 고민을 해봐야 할 부분이라고 생각해 포스팅은 했는데
사실 필요 없을 것 같기도 한 느낌이 없지 않아 있다.. :D
아무튼 이렇게 한번쯤은 시도 해보는 게 중요하다고 생각!
앞으로도 이런 아이디어도 조금씩 포스팅 해봐야지!
++
발돋움 중인 예비 개발자 입니다.
태클 및 의견 공유 언제나 환영 :D