S-80 VITO-admin 권한 및 패스워드 수정 버그 분석

Source

  • Field Notes/ReturnZero/Daily Notes/Day 62. 2021-08-31.md

Summary

VITO-admin 시스템에서 일반 관리자(admin)가 자신의 계정 정보(특히 비밀번호)를 수정하지 못하는 권한 설정 오류를 파악하고 수정 방안을 모색함. 현재 로직은 관리자 여부만 확인하고 본인 계정인지 검증하지 않아 문제가 발생하며, 관련 AdminController 부재로 인한 500 에러도 확인됨.

Key Points

  • S-80 이슈: 관리자가 자신의 비밀번호를 수정할 수 없는 버그 발생
  • 원인 분석: 기존 코드에서 current_user.id가 수정 대상 계정인지 검증하지 않고 관리자 여부만 체크
  • 추가 문제: 특정 관리자가 read 권한 없을 시 본인 정보 조회 시 NoMethodError(500) 발생
  • 해결 방향: 본인 계정일 경우 수정 허용하는 로직 추가 및 AdminController 구현 검토
  • 주의사항: 패스워드 수정은 허용하되, 권한(role) 수정은 제한해야 함