2012-09-01 14 views
6

Ich bin ein kompletter Neuling mit Play! Ich bin ein Django-Entwickler und habe angefangen, Play zu benutzen! Vor ein paar Tagen. Ich kann keine Informationen darüber finden, wie neue Benutzer für meine Anwendung registriert werden. Ich möchte nicht OAuth verwenden, ich möchte nur Benutzer in meiner eigenen Datenbank mit Passwort-Verschlüsselung verwalten. Übrigens verwende ich Java-Version.Benutzerverwaltung mit Play! Framework 2.0.3

Danke!

+0

Es klingt, als ob Sie davon ausgehen, dass Play eine Art von Nicht-OAuth-Benutzerverwaltungsschema für Sie bereitstellt. Ich weiß nicht, dass das eine gültige Annahme ist. –

+0

Also muss ich den Code für diese Aufgabe schreiben oder ein Drittanbieter-Modul finden? Haben Sie Tutorials für diese Aufgabe? – nicowernli

+0

Werfen Sie einen Blick auf die Beispiele, insbesondere auf diese, die ein Beispiel für die Authentifizierung bietet: https://github.com/playframework/Play20/tree/master/samples/java/zentasks –

Antwort

9

Es ist noch nichts fertig, aber ich würde vorschlagen, dass Sie play-authenticate (live demo) als Basis verwenden.

Dies ist derzeit die fortschrittlichste Lösung für Play 2 zur Authentifizierung und Autorisierung. Es kombiniert Deadbolt-2 für die Autorisierung (Rollen und Berechtigungen) + eigene Authentifizierung, was es sehr komfortabel Stack zu starten macht.

Obwohl seine Grundidee ist eine Möglichkeit zur Authentifizierung von Benutzern mit OAuth bieten - die providers sind eine konfigurierbare Optionen, so dass Sie deaktivieren können und nur auf E-Mail-Anbieter basieren.

Hinweis wichtig für Sie es ... hat nicht integrierte Benutzerverwaltung, aber ich kann Ihnen versichern, dass im aktuellen Zustand erfordert es nur einige Aktionen hinzufügen, um zu erstellen, was Sie brauchen. Ich mache es in einigen meiner Projekte und werde bald eine Pull-Anfrage mit diesen Änderungen senden.

Bearbeiten: Standardmäßig sind alle Anbieter mit Dummy-Anmeldeinformationen aktiviert, natürlich wird es nicht ausgeführt werden. Sie müssen sie in conf/play.plugins deaktivieren (nur um unerwünschte Linien zu entfernen) höchstwahrscheinlich Sie müssen halten nur diese Zeilen deadbolt zu halten + PA mit Mailer:

1500:com.typesafe.plugin.CommonsMailerPlugin 
10000:be.objectify.deadbolt.DeadboltPlugin 
10005:service.PaUserServicePlugin 
10040:providers.PaUsernamePasswordAuthProvider 

Vergessen Sie auch nicht die richtige SMTP-Anmeldeinformationen festlegen in conf/play-authenticate/smtp.conf, um sicherzustellen, dass die Wiederherstellung des Kennworts funktioniert.

+0

Ok toll, ich werde es versuchen. Es scheint, dass die Website keine Dokumentation hat, aber ich hoffe, ich werde etwas im Web finden. – nicowernli

+0

Ich habe von Github heruntergeladen, aber wenn ich versuche, das Beispiel der Proben Ordner ausführen, bekomme ich diesen Fehler "RuntimeException: Provider 'Google' fehlende Einstellung 'clientId'" – nicowernli

+0

@nicoengnli Überprüfen Sie meine Bearbeitung – biesior