Heim > Web-Frontend > js-Tutorial > NgSysV.A Serious Svelte InfoSys: Eine regelfreundliche Version

NgSysV.A Serious Svelte InfoSys: Eine regelfreundliche Version

Susan Sarandon
Freigeben: 2024-12-03 14:22:14
Original
937 Leute haben es durchsucht

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

Diese Beitragsserie ist auf NgateSystems.com indiziert. Dort finden Sie auch eine äußerst nützliche Stichwortsuchfunktion.

Letzte Bewertung: 24. November

1. Einführung

In dieser Serie wurde zuvor beschrieben, wie Sie das Svelte-Framework in Verbindung mit der Firestore-Datenbank-Client-API von Google verwenden können, um schnell und unterhaltsam nützliche Informationssysteme zu entwickeln. Leider hat Beitrag 3.3 jedoch gezeigt, dass das ansonsten hervorragende Authentifizierungssystem von Firebase keine Firestore-Aktivitäten in serverseitigen Load()- und Actions()-Funktionen unterstützt, bei denen Datenbankregeln auf das Authentifizierungsobjekt verweisen.

Das Überspringen Ihrer Firestore-Autorisierungsregeln ist keine Option – ohne diese ist Ihre Datenbank für jeden offen, der die FirebaseConfig-Schlüssel aus Ihrer Webanwendung kapern kann. In diesem Beitrag werden Möglichkeiten beschrieben, den serverseitigen Svelte-Code so zu überarbeiten, dass er auf der Clientseite ausgeführt wird, während die Firestore-Regeln fest in Kraft bleiben.

2. Überarbeitung „kompromittierter“ Load()-Funktionen

Nicht alle Load()-Funktionen sind vom Vorhandensein von Firestore-Regeln betroffen. Diejenigen, die auf Firestore-öffentliche-Sammlungen verweisen, werden weiterhin problemlos serverseitig ausgeführt. Die Client-API ist weiterhin in den page.server.js-Dateien verfügbar – sie funktioniert jedoch nicht, wenn sie aufgefordert wird, durch Authentifizierung geschützte Sammlungen zu verwenden.

Wenn Ihre Load()-Funktion öffentliche Dateien adressiert und Sie einfach serverseitiges Debuggen vermeiden möchten, können Sie Ihre Load()-Funktion in eine page.js-Datei verschieben. Dies funktioniert genau wie eine page.server.js-Datei – Svelte führt die Funktion weiterhin automatisch beim Laden aus. Dies geschieht jedoch jetzt clientseitig, wo es im Browser debuggt werden kann. Weitere Informationen finden Sie in der Svelte-Dokumentation unter „Laden von Daten“

Allerdings muss eine „kompromittierte“ Load()-Funktion (in der Regel dort, wo Firestore-Regeln verwendet werden, um sicherzustellen, dass Benutzer nur auf ihre eigenen Daten zugreifen können) in clientseitigen Code verlagert werden. Typischerweise wird dies in eine neue, entsprechend benannte Funktion im

Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage