바이브 코딩 · 만들기 · 06 / 10

로그인·권한·관리자 화면,
처음부터 챙길 것

처음에는 나 혼자 쓰니 로그인이 필요 없어 보입니다. 그러다 팀원이 쓰기 시작하고, 거래처에도 열어 주고 싶어지는 순간이 옵니다. 그때 권한을 붙이려 하면 모든 화면과 데이터 조회를 다시 고쳐야 합니다. 권한은 기능이 아니라 설계입니다.

HandsMate 바이브 코딩 가이드 · 예상 읽기 7분
결론 먼저역할은 세 개 이내로 정하고, 역할마다 ‘할 수 있는 일’과 ‘볼 수 있는 데이터’를 표로 적으세요. 버튼을 숨기는 것은 권한이 아닙니다. 권한 확인은 반드시 서버(데이터를 주는 쪽)에서 하고, 로그인과 비밀번호 저장은 직접 만들지 말고 검증된 인증 서비스를 쓰세요.

1. 권한은 나중에 붙이기 가장 어려운 부분입니다.

업무시스템에서 권한은 거의 모든 화면에 걸쳐 있습니다. 목록 하나를 보여 줄 때도 ‘이 사람이 볼 수 있는 데이터만’ 골라야 하기 때문입니다. 나중에 붙이면 이미 만든 화면과 조회를 하나하나 다시 확인해야 합니다.

처음부터 완벽하게 만들 필요는 없습니다. 다만 역할 표 한 장과 모든 데이터에 ‘작성자·소속’ 칸만 미리 있어도 나중의 수정이 훨씬 작아집니다.

2. 역할은 세 개 이내로, 표 한 장에 정리합니다.

역할할 수 있는 일볼 수 있는 데이터
관리자사용자 등록·정지, 코드·설정 관리, 전체 데이터 수정전체
직원(영업 담당)견적 작성·수정·발송본인이 작성한 견적 + 공용 거래처·품목
팀장견적 조회·승인소속 팀 전체 견적

역할이 많아질수록 점검할 조합도 늘어납니다. 처음엔 관리자·일반 사용자 둘로 시작하고, 꼭 필요할 때 하나씩 늘리세요. ‘볼 수 있는 데이터’ 칸이 4편에서 만든 표의 작성자·소속 칸과 이어집니다.

3. 버튼을 숨기는 것은 권한이 아닙니다.

AI가 만든 결과물에서 가장 흔한 착각입니다. 화면에서 ‘삭제’ 버튼을 안 보이게 해도, 주소를 직접 입력하거나 데이터를 주고받는 요청을 흉내 내면 그대로 실행되는 경우가 많습니다.
화면에서만 막은 경우

일반 직원 화면에 ‘전체 견적’ 메뉴가 없다. 하지만 견적 번호를 바꿔 주소에 넣으면 다른 사람의 견적이 열린다.

→
서버에서 확인하는 경우

데이터를 내줄 때마다 ‘요청한 사람이 이 견적을 볼 수 있는 역할인가’를 서버가 확인한다. 주소를 바꿔도 ‘권한 없음’이 나온다.

AI에게 확인하는 요청 예시
이 프로젝트에서 데이터를 조회·수정·삭제하는 모든 곳을 목록으로 보여 주고, 각각 서버 쪽에서 사용자 역할과 데이터 소유자를 확인하는지 표로 정리해 줘. 화면에서만 막고 있는 곳은 따로 표시해 줘.

4. 로그인과 비밀번호는 직접 만들지 마세요.

비밀번호 저장, 재설정 메일, 로그인 유지, 계정 잠금은 작은 실수가 바로 사고로 이어지는 영역입니다. 이미 수많은 서비스가 검증해 둔 인증 서비스나 사용하는 플랫폼의 내장 로그인 기능을 쓰는 것이 비전공자에게 가장 안전한 선택입니다.

빌려 쓰기

인증 서비스·소셜 로그인

개발 플랫폼이 제공하는 인증 기능이나 구글·카카오 등 소셜 로그인을 연결합니다.

회사 내부용

회사 계정으로 로그인

사내 도구라면 회사가 쓰는 업무용 계정(구글 워크스페이스, 마이크로소프트 등) 로그인을 연결하는 것도 좋은 방법입니다.

직접 만들지 않기

비밀번호를 내 표에 저장하지 않기

AI가 ‘사용자 표에 비밀번호 칸’을 만들자고 하면 멈추고 인증 서비스를 쓰자고 다시 요청하세요.

5. 관리자 화면에 꼭 있어야 할 세 가지

기능왜 필요한가최소 수준
사용자 관리퇴사·계약 종료 시 즉시 막아야 함사용자 목록, 역할 변경, 사용 정지
데이터 조회·수정 이력잘못 바뀐 데이터를 추적·복구누가 언제 무엇을 바꿨는지 목록
코드·설정 관리상태값·부가세율 등을 코드 수정 없이 변경코드 목록 추가·사용 안 함

관리자 화면은 화려할 필요가 없습니다. 대신 관리자 화면 자체도 관리자 역할만 들어올 수 있는지 3장 방식으로 꼭 확인하세요.

6. 테스트 계정과 실제 계정을 나누세요.

역할별 테스트 계정

역할마다 하나씩

관리자·직원·팀장 테스트 계정을 만들어 7편 점검 때 계정을 바꿔 가며 확인합니다.

실제 데이터 금지

테스트에 진짜 고객 정보 쓰지 않기

실제 고객 이름·연락처 대신 ‘테스트거래처01’ 같은 가짜 데이터를 씁니다.

운영 전 정리

오픈 전에 테스트 계정 정리

운영을 시작할 때 테스트 계정은 정지하거나 삭제하고, 기본 비밀번호가 남아 있지 않은지 확인합니다.

7. 화면을 늘리기 전 체크리스트

역할을 세 개 이내로 정하고 표로 적었다.
역할별로 볼 수 있는 데이터 범위를 정했다.
모든 데이터에 작성자·소속 칸이 있다.
권한 확인을 서버 쪽에서 하는지 AI에게 점검받았다.
로그인은 인증 서비스·플랫폼 기능을 쓴다.
관리자 화면에 사용자 정지와 변경 이력이 있다.
한 줄 원칙

누가 무엇을 볼 수 있는지는, 화면보다 먼저 정합니다.

권한은 사용자가 늘어날 때 가장 먼저 문제가 되는 곳입니다. 이제 기본 구조가 갖춰졌다면 돌아가는 것과 믿고 쓸 수 있는 것의 차이를 확인할 차례입니다. 다음 편은 점검 체크리스트입니다.