6

Ich fange an, eine Web-App zu planen und Backbone.js wird eine perfekte Passform für die Client-Seite sein. Ich habe geplant, Knoten für das Backend zu verwenden, aber das ist vorläufig offen.Wie verbinde ich eine Backbone.js App sicher mit einer Datenbank?

Ich brauche eine Möglichkeit, die Verbindung der Front-End-App zu einer Datenbank zu sichern. Ich habe discussions with others on Quora gehabt, aber ich denke, dass der Gedankenprozess vom Kernproblem zu sehr abstrahiert wurde.

Ich würde lieber auf die Daten durch RESTful Endpunkte zugreifen, aber ich muss sicherstellen, dass nur meine App mit der API sprechen kann. Ich werde die volle Kontrolle über das Front-End und Back-End der Anwendung haben. Es besteht die Möglichkeit, dass andere Apps um die Datenbank herum gebaut werden (in ein oder zwei Jahren), aber sie werden von mir entwickelt (d. H. Keine öffentliche API) und diese werden wahrscheinlich separate OAuth-Endpunkte verwenden.

Einige Hinweise auf der App (oder auch nicht sinnvoll sein):

  • Die App ist geplant, in einem SaaS-Modell angeboten werden, in denen Unternehmen abonnieren und mehrere Benutzer erlaubt.
  • Die Daten für jedes Unternehmen müssen sicher und nur für Mitglieder dieser Firma zugänglich sein.
  • Der gesamte Datenverkehr (Front-End und App zu API) wird über SSL gesendet.

Jeder Rat auf dem besten Weg, dies zu tun, wird sehr geschätzt werden.

Antwort

1

Wir haben genau das gleiche Setup wie Sie - SaaS-Modell, mehrere Apps (Handy, Web, etc) und als ich Ihrem Link gefolgt bin, hat Miguel die genaue Lösung, die wir verwenden.

Token, das zeitgestempelt und an den Client gesendet wird. Wir speichern dieses Hash-Token in einem Benutzermodell, und bei jeder nachfolgenden Anfrage validieren wir dieses Token.

Sie können Backbone.Model mit einem Basemodel erweitern, die das Token für jeden Serveranfrag anhängt von Backbone.Sync zwingenden

Siehe here darüber, wie sie eine baseview erweitert und Sie können die gleiche Sache zu einem Basemodel anwenden.

+0

Ich dachte, dies wäre die beste Lösung, aber ich dachte, ich würde für eine zweite Meinung gehen. Sie sagen, es funktioniert in der Praxis, also werde ich denken, dass ich dabei bleiben werde, danke. –

Verwandte Themen