2017-01-04 2 views
0

Ich versuche, ein sehr einfaches Login-System zu bauen. Für die verwende ich neo4j als Datenbank.Wie benutze ich neo4j mit Web2py?

Wie in der documentation, kann ich keine Möglichkeit finden, neo4j an die DAL anzuschließen.

Soll ich manuell verbinden-neo4j und dann eine Sitzung starten oder gibt es eine Möglichkeit für mich, die DAL zu verwenden (was mich leicht kümmern Log-in können)?

Antwort

1

Um eine bestimmte Datenbank mit dem web2py DAL verwenden zu können, muss es einen Adapter dafür geben, und es gibt keinen Adapter für Neo4j. Das integrierte Auth-System von web2py hängt von der DAL ab. Um es zu verwenden, müssen Sie mindestens die Auth-bezogenen Daten in einer der von der DAL unterstützten Datenbanken speichern. Ihre Optionen sind:

  1. Halten Sie alles in Neo4j und daher nicht verwenden web2py-internen Auth-System.
  2. Verwenden Sie eine alternative Datenbank für die Auth-Daten (Sie können immer noch Neo4j für alles andere verwenden), so dass Sie web2py's Auth-System verwenden können.
  3. Schreiben Sie Ihren eigenen DAL-Adapter für Neo4j, wie erklärt here.
+0

Vielen Dank für die Info, Anthony! Derzeit was ich tue ist: Option 2. Ich halte die Hauptdaten auf neo4j und nur die Auth-Daten auf MySQL. Ich * kopiere * die Datenbank nicht, sondern behalte nur den Benutzernamen und das Passwort (bcrypt-Hash) auf MySQL - zum Zweck der Anmeldung. Klingt das gut? Ich werde auch versuchen, meinen eigenen DAL-Adapter zu schreiben! – Arjun

+1

Ja, das scheint vernünftig. – Anthony

+0

Ich bin neugierig auf eine weitere Sache - wie oben erwähnt, sind meine Passwörter als (bcrypt Hash) gespeichert. Wenn ich also ein Klartext-Passwort eintrage und auf "Login" klicke, würde ich gerne seinen Hash -> Check mit gespeichertem Hash berechnen. Das q ist: Wie schreibe ich meine * eigene * login() Methode, um dies zu tun? Ich habe gelesen, dass ich mit der Methode auth.login_bare() arbeiten muss, aber wie würde ich das definieren? Vielen Dank! – Arjun