> 웹 프론트엔드 > JS 튜토리얼 > NgSysV.A 심각한 Svelte InfoSys: 규칙 친화적 버전

NgSysV.A 심각한 Svelte InfoSys: 규칙 친화적 버전

Susan Sarandon
풀어 주다: 2024-12-03 14:22:14
원래의
937명이 탐색했습니다.

NgSysV.A Serious Svelte InfoSys: A Rules-friendly version

이 게시물 시리즈의 색인은 NgateSystems.com에 있습니다. 거기에서 매우 유용한 키워드 검색 기능도 찾을 수 있습니다.

최종 검토일: 2024년 11월

1. 소개

이 시리즈에서는 이전에 Google의 Firestore 데이터베이스 클라이언트 API와 함께 Svelte 프레임워크를 사용하여 유용한 정보 시스템을 빠르고 즐겁게 개발하는 방법을 설명했습니다. 그러나 안타깝게도 Post 3.3에서는 Firebase의 뛰어난 인증 시스템이 데이터베이스 규칙이 인증 개체를 참조하는 서버 측 load() 및 actions() 함수에서 Firestore 활동을 지원하지 않는다는 사실을 공개했습니다.

Firestore 인증 규칙을 건너뛰는 것은 선택 사항이 아닙니다. 이를 건너뛰지 않으면 웹 앱에서 firebaseConfig 키를 하이재킹할 수 있는 모든 사람에게 데이터베이스가 활짝 열려 있습니다. 이 게시물에서는 Firestore 규칙이 그대로 유지되는 동안 클라이언트 측에서 실행되도록 Svelte 서버 측 코드를 재작업하는 방법을 설명합니다.

2. '손상된' load() 함수 재작업

모든 load() 함수가 Firestore 규칙의 존재에 영향을 받는 것은 아닙니다. Firestore 공개 컬렉션을 참조하는 컬렉션은 여전히 ​​서버 측에서 원활하게 실행됩니다. 클라이언트 API는 page.server.js 파일에서 계속 사용할 수 있습니다. 인증으로 보호되는 컬렉션을 사용하라는 요청을 받으면 작동하지 않습니다.

load() 함수가 공개 파일을 처리하고 단순히 서버 측 디버깅을 피하려는 경우 load() 함수를 page.js 파일로 이동하는 것이 좋습니다. 이는 page.server.js 파일과 정확히 동일하게 작동합니다. Svelte는 로드 시 자동으로 함수를 실행합니다. 그러나 이는 이제 브라우저에서 디버깅할 수 있는 클라이언트 측에서 발생합니다. 자세한 내용은 데이터 로드에서 Svelte 문서를 참조하세요.

그러나 '손상된' load() 함수(일반적으로 사용자가 자신의 데이터에만 액세스할 수 있도록 하기 위해 Firestore 규칙을 사용하는 경우)는 클라이언트 측 코드로 재배치해야 합니다. 일반적으로 이는

저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿