보안 점검용 테스트 웹 페이지 계획을 정리하겠습니다.
프로젝트 구조 계획
1. 필요한 파일 구성
security-test-app/
├── docker-compose.yml
├── Dockerfile
├── Gemfile
├── Gemfile.lock
└── app/
├── controllers/
│ ├── sessions_controller.rb # 로그인/로그아웃
│ ├── users_controller.rb # 회원가입/회원목록
│ └── application_controller.rb
├── models/
│ └── user.rb
├── views/
│ ├── users/
│ │ ├── new.html.erb # 회원가입 폼
│ │ └── index.html.erb # 회원목록
│ └── sessions/
│ └── new.html.erb # 로그인 폼
└── ...
2. 주요 구성요소
| 구분 | 내용 |
|---|---|
| Docker | Ruby 3.x 이미지, PostgreSQL 컨테이너 |
| Rails | Rails 7.x |
| 인증 | 세션 기반 인증 (devise 또는 직접 구현) |
| DB 테이블 | users (id, email, password_digest, name, created_at, updated_at) |
3. 라우팅 설계
# 회원가입
GET /signup -> users#new
POST /users -> users#create
# 로그인/로그아웃
GET /login -> sessions#new
POST /login -> sessions#create
DELETE /logout -> sessions#destroy
# 회원목록 (로그인 필요)
GET /users -> users#index
4. 구현 필요 항목
- 인프라: Dockerfile, docker-compose.yml 작성
- Rails 앱: 새 프로젝트 생성 및 설정
- User 모델: 마이그레이션, 비밀번호 암호화
- 컨트롤러: 회원가입, 로그인, 로그아웃, 회원목록
- 뷰: 각 페이지 HTML 폼
- 인증 필터: 로그인 여부 확인 (before_action)
구현을 진행하기 전에 한 가지 확인이 필요합니다.