kann Amazon-Server von statischen Dateien für eine Ruby on Rails-Anwendung abzuladen verwendet werden, aber immer noch die App-Authentifizierung und Autorisierung unterstützen?

StackOverflow https://stackoverflow.com/questions/1478609

Frage

Kann eine der Amazon-Dienste (der S3-Datendienst oder auf andere Weise) verwendet werden Server von statischen Dateien für eine Ruby on Rails-Offload-App, aber immer noch die App-Authentifizierung und Autorisierung unterstützen?

Das ist so, dass, wenn der Benutzer-Browser den ursprünglichen HTML-Code für eine Seite der Ruby on Rails-Anwendung heruntergeladen, wenn es wieder für statische Inhalte ging (zum Beispiel eines Bild oder ein CSS-Datei), dass dieser Antrag wäre: (A) geroutet direkt mit dem Amazon Service (keine verwendeter RoR Zyklen zu dienen, oder der Bandbreite), aber (B) die Browser-Anfrage zu diesem Artikel (zB ein Bild), müßte noch eine Authentifizierung / Autorisierung Schicht durch basierend auf dem Benutzermodell in der Ruby on Rails-Anwendung - also nur, um sicherzustellen, niemand konnte das Bild bekommen. ..

Dank

War es hilfreich?

Lösung

Die Antwort ist ein Ja mit einem aber. Sie können eine Funktion von S3 verwenden, die Sie Links zu sichern S3-Objekte erstellen können, die eine kleine Zeit zu leben hat, ist standardmäßig 5 Minuten. Dies ist für jedes S3-Objekt arbeitet, die als private hochgeladen. Dies bedeutet, dass der Browser nur X Sekunden hat oder was auch immer die Datei von S3 zu beantragen. Beispielcode von docs für die AWS gem:

S3Object.url_for('beluga_baby.jpg', 'marcel_molina')

Sie können auch eine expires_in angeben oder ausgelaufen Option pro Datei. Das Schlimme ist, dass Sie einen Helfer für Ihre Sheet Bild erstellen müßten, und js Links den richtigen S3 URLs zu erstellen. Ich würde empfehlen, dass Sie das Einrichten eines Domain-Namen für Ihre S3 Eimer, wie „examples3.amazonaws.com“ und setzen alle Ihre Standard-Image-Dateien und CSS dort als Öffentlichkeit. Dann setzte, dass als Asset-Host in Ihrer Schiene Konfig. Verwenden Sie dann nur die sicheren Verbindungen für statische Dateien, die es wirklich brauchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top