2014-05-05 11 views
11

Nach dem Buch App Beispiel in play 2 für scala, habe ich jetzt eine grundlegende funktionierende App. Was ich jetzt will, ist einige Features wieplay framework app authentication, benutzerverwaltung

  • Benutzerregistrierung

  • Benutzer authenetication hinzufügen, um einige Seiten zugreifen

Was ist der beste Weg, um es im Spiel für scala zu tun ? Soll ich es alleine schaffen? Gibt es dafür ein Plugin?

Antwort

2

Es gibt ein securesocial-Plugin (http://securesocial.ws). Deckt die gängigsten Authentifizierungsmethoden ab, hat Registrierungsmaterial. Ich fand es sehr nützlich. Der Nachteil ist, dass es Dokumentation ist. Wenn Sie etwas von den einfachsten Szenarien unterscheiden wollen - seien Sie bereit, den Quellcode zu lesen.

+0

+ Mike Vielen Dank für die Bezugnahme securesocial. Kennen Sie eine öffentliche Beispielanwendung, die es verwendet? – Lahniep

+0

@Lahniep Sie benötigen Quellcode? Sie können sich meine einfache Aufgabenanwendung https://github.com/mikegirkin/papersheet ansehen –

+0

Ich werde es versuchen und sehen, ob ich es in einer einfachen App verwenden kann. – Lahniep

3

Sie haben zwei Möglichkeiten:

  1. Sichere Social (http://securesocial.ws/)
    Aber es hat ungewöhnliche Registrierung fließen, wo der Benutzer Ihre E-Mail zuerst eingeben und erhält Link zur Anmeldung. Allerdings gibt es eine Pull-Anforderung, die dieses Problem zu beheben (https://github.com/jaliss/securesocial/pull/260)

  2. Wiedergabe Authentifizieren
    Es ist nicht Scala aus der Box unterstützt. Aber es gibt eine Abhilfe hier von mir erstellt: https://github.com/joscha/play-authenticate/issues/92

Beide Sie die Grenzschicht zur Datenbank schreiben erfordert. Ein wichtiger Nachteil in beiden ist, dass Sie nicht reaktive Datenbanktreiber wie Reactive Mongo verwenden können. Sie gehen davon aus, dass Sie die Ergebnisse sofort zurückgeben, nicht eine Zukunft des Ergebnisses.

+0

Danke Radian für Ihre Vorschläge. Ich sehe viele Antworten für securesocial. Ich werde es versuchen und sehen, ob es für meine App verwenden kann. – Lahniep

+0

Play-authenticate scheint scala-Projekte nicht direkt zu unterstützen und secure social unterstützt Play 2.4 nicht.x (noch): https://github.com/jaliss/securesocial/issues/556 – nietaki

10

Hinweis: Ich bin der Betreuer von Silhouette.

Ich kann Ihnen empfehlen Silhouette das ist ein Kern nur Gabel von Secure Social mit der Absicht, eine anpassbare, nicht-blockierende und gut getestete Implementierung zu bauen.

Für die erste stabile Version gibt es nur zwei offene Probleme, die gelöst werden müssen. Und diese Probleme sind nur zukünftige Anfragen. Es sind keine API-Änderungen geplant. Die Dokumentation muss verbessert werden und eine sample application wird gestartet. Die Unit-Tests sind auch ein guter Ausgangspunkt.

Wenn Sie den Authentifizierungsablauf gemäß Secure Social verfolgen möchten, bleiben Sie dabei. Es existiert seit mehr als zwei Jahren und es ist von vielen Unternehmen gut getestet. Ansonsten schau dir Silhouette an.

+1

Haben Sie den gleichen Ablauf der SecureSocial-Registrierung? – Radian

+2

Silhouette hat keinen eigenen Authentifizierungsablauf. Denken Sie an ein sicheres Social ohne das GUI-Zeug. – akkie

+0

, dass Beispielanwendung Link ist gebrochen –