Files
dognation_BT/src/main/resources/db/migration/V9__admin_account.sql
T
ByungCheol fe48d5c604
Deploy (dev) / deploy (push) Failing after 11m12s
CI / build (push) Failing after 13m21s
feat(admin): 관리자 로그인 소셜 → 아이디/비밀번호 (회원 인증과 분리)
- V9: admin_account(BCrypt) + admin_session 테이블 (회원 users/auth_session 과 분리)
- /api/admin/auth: login(아이디/비번)·me·logout, AdminAuthInterceptor 로 /api/admin/** 보호
- 회원 자격의 관리자 개념 제거: MemberAdmin self-lock 제거, dev-login(DevAuthController) 삭제, 구 AdminInterceptor 삭제
- 관리자는 이제 회원(users)이 아님 → 회원관리 목록에서 미노출
- 시드: admin_account(admin/admin1234)
- BCrypt용 spring-security-crypto (전체 Security 스타터 미사용)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:09:28 +09:00

22 lines
919 B
SQL

-- ============================================================
-- V9: 관리자 계정(아이디/비밀번호 로그인) — 회원(users)과 분리
-- ============================================================
CREATE TABLE admin_account (
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL, -- BCrypt
name VARCHAR(50) NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
last_login_at TIMESTAMPTZ
);
-- 관리자 세션 (회원 auth_session 과 분리)
CREATE TABLE admin_session (
token VARCHAR(64) PRIMARY KEY,
admin_id BIGINT NOT NULL REFERENCES admin_account(id) ON DELETE CASCADE,
expires_at TIMESTAMPTZ NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE INDEX idx_admin_session_expires ON admin_session(expires_at);