AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Laravel 12에서 Spatie 역할 및 권한 업그레이드 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • Laravel 10에서 12로 업그레이드를 진행하는 개발자
  • Spatie의 역할 및 권한 패키지 사용자
  • 중급 이상의 PHP 프레임워크 경험자

핵심 요약

  • kernel.php 파일에서 Middleware 클래스를 Spatie\Permission\Middleware\*로 변경
  • create_permission_tables.php 마이그레이션 파일을 삭제 후 php artisan vendor:publish 명령으로 재설치
  • Laravel 10 → 12 업그레이드 시 Spatie 패키지의 버전 호환성 확인 필수

섹션별 세부 요약

1. Middleware 클래스 변경

  • kernel.php 파일에서 아래 중간웨어 설정 수정:
  • RoleMiddleware, PermissionMiddleware, RoleOrPermissionMiddleware 클래스 경로 변경
  • 예: \Spatie\Permission\Middlewares\RoleMiddleware::class\Spatie\Permission\Middleware\RoleMiddleware::class
  • 변경 사항은 Laravel 12의 Spatie\Permission 패키지 버전 5.0 이상에서 요구됨

2. 마이그레이션 파일 재설치

  • database/migrations/ 폴더 내 create_permission_tables.php 파일 삭제
  • 다음 명령어로 패키지 설정 재설치:
  • php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
  • 이 과정은 새로운 마이그레이션 파일과 기본 설정을 재생성하여 데이터베이스 구조를 업데이트

결론

  • Laravel 12 업그레이드 시 Spatie 패키지의 중간웨어 패키지 경로 변경과 마이그레이션 재설치를 반드시 수행해야 함
  • php artisan vendor:publish 명령어는 패키지 설정이 올바르게 적용되었는지 확인하는 핵심 단계