- AuthenticationEntryPoint 추가: 미인증 요청에 403 대신 401 반환
- AccessDeniedHandler 추가: 권한 부족 시 403 + JSON body 반환
- CORS 설정 범위를 /api/** → /** 로 확장하여 에러 응답에도 CORS 헤더 포함
- exposedHeaders에 Authorization 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
springdoc-openapi 2.8.6 기반으로 모든 API 엔드포인트에
Swagger 어노테이션을 추가하여 API 문서를 자동 생성합니다.
- OpenApiConfig: JWT 보안 스킴, 서버 목록, API 정보 설정
- SecurityConfig: swagger-ui 경로 공개 접근 허용
- 7개 Controller: @Tag, @Operation, @ApiResponses, @Parameter 등
(00.시스템, 01.인증, 02~04.관리자, 05.활동, 06.이슈)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Entity: LoginHistory, PageView, Issue, IssueComment 추가
- Repository: 각 엔티티별 JpaRepository 추가
- Service: UserService, RoleService, ActivityService, IssueService
- Admin API: 사용자 관리 7개, 롤/권한 관리 7개, 통계 1개 엔드포인트
- Activity API: 페이지뷰 기록, 로그인 이력 조회
- Issue API: CRUD + 코멘트, 프로젝트/위치/Gitea 링크 지원
- Exception: GlobalExceptionHandler, ResourceNotFoundException, BusinessException
- AuthController: 로그인 시 LoginHistory 기록 추가
- Dockerfile 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Spring Boot 3.5.2 + Spring Security + JPA + PostgreSQL
- Google OAuth2 ID Token 검증 (google-api-client)
- JWT 인증 (jjwt 0.12.6)
- H2 인메모리 DB (로컬) / PostgreSQL (운영) 프로필 분리
- Nexus 프록시 경유 Maven 빌드 설정
- 팀 워크플로우 템플릿 (common + java-maven) 적용