feat(core,ecommerce,ckeditor5,board,admin_basic): 공개 자산 직접 URL(CDN) 서빙 옵트인

StorageInterface::url 의 public 하드코딩을 완화하고 core.storage.filter_url 훅을
신설해, 완전 공개 자산(상품·카테고리·리뷰·에디터 이미지)의 직접 URL 서빙을 옵트인으로
열었다. 미설정 시 기존 스트리밍 100% 보존.

디스크 결정은 확장 개별 설정 > 코어 전역 > 미설정 순이며, 서빙·삭제·이동은 행에 기록된
disk 를 따라 전환 전후 자산이 혼재해도 각자 실제 저장 위치를 향한다. 고아 disk(공급
플러그인 비활성화)는 스트리밍으로 폴백해 500 이 되지 않는다.

공개 이슈 (@lyg-kaban 건의) 대응.
This commit is contained in:
HeuJung
2026-08-14 08:05:54 +09:00
parent 37fad55333
commit 057e002ad1
125 changed files with 5913 additions and 203 deletions
+13
View File
@@ -125,6 +125,19 @@ return [
'like_operator_default' => 'like',
],
/*
|--------------------------------------------------------------------------
| 스토리지 — 공개 자산 직접 URL 서빙 디스크
|--------------------------------------------------------------------------
| 완전 공개 자산(상품/카테고리/리뷰/에디터 이미지)의 직접 URL(CDN) 서빙에 쓸
| 디스크입니다. 빈 문자열이면 미설정(기존 PHP 스트리밍 유지)이며, 값은 관리자
| 환경설정(drivers.public_asset_disk)에서 SettingsServiceProvider 가 주입합니다.
| 확장은 개별 설정으로 이 전역값을 오버라이드할 수 있습니다.
*/
'storage' => [
'public_asset_disk' => '',
],
/*
|--------------------------------------------------------------------------
| 코어 권한 정의
+2
View File
@@ -118,6 +118,7 @@
},
"drivers": {
"storage_driver": "local",
"public_asset_disk": "none",
"s3_bucket": "",
"s3_region": "ap-northeast-2",
"s3_access_key": "",
@@ -302,6 +303,7 @@
"_comment": "드라이버 설정 — 프론트엔드 미노출 (admin_settings에서 API 원본값 기반 비교로 변경)",
"fields": {
"storage_driver": { "type": "string", "sensitive": false },
"public_asset_disk": { "type": "string", "sensitive": false },
"s3_bucket": { "type": "string", "sensitive": false },
"s3_region": { "type": "string", "sensitive": false },
"s3_access_key": { "type": "string", "sensitive": true },