Commit Graph

3 Commits

Author SHA1 Message Date
ByungCheol 5e2bdae37d feat: 세션 DB 이중 저장 — Redis 유실/재시작에도 로그인 유지
- auth_session 테이블에 세션 영속 백업(login 시 Redis+DB 동시 저장)
- getSession: Redis 미스/장애 시 DB에서 복원 후 Redis 재수화(슬라이딩)
- logout: Redis+DB 동시 삭제, 만료분 일별 정리(@Scheduled)
- Redis 재시작으로 세션 전멸하던 주기적 로그아웃 해결

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 08:12:57 +09:00
ByungCheol c05be0880c feat: 회원가입 제한·봇차단(허니팟/레이트리밋)·카드 자동인식 보정
- 관리자 회원가입 허용 토글(app_setting), 공개 GET /auth/signup-enabled
- 회원가입 봇차단: 허니팟(website) + IP 레이트리밋(Redis, 1h 5회)
- 카드 알림: 현금 오선택 보정(카드 양방향 매칭+단일카드 자동), 광고 푸시 차단(승인신호 없는 광고성 표현 무시)
- @MapperScan 에 admin.mapper 추가
- account.sql: 매 기동 wallet MODIFY 제거(라이브 락 위험) — CREATE 정의에 255 반영됨

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 00:15:57 +09:00
ByungCheol 2a2f81dc32 feat: 가계부·게시판 백엔드 API 구현
- com.sb.web 패키지로 재구성: account / auth / board / user / admin / common
- 가계부(account): 내역(필터), 계좌·순자산, 예산, 분류, 정기 거래, 투자 포트폴리오
  (종목·매매 이력, 이동평균 평단·실현/평가손익)
- MyBatis + MariaDB + Redis 세션, BCrypt
- 스키마 자동 초기화(db/*.sql, 멱등), 사용자별 데이터 격리(member_id)
- 문서: docs/BACKEND.md, .env.example

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 15:43:09 +09:00