Mehrere Laravelprojekte miteinander verknüpfen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mehrere Laravelprojekte miteinander verknüpfen

    Hey,
    ich habe ein Problem. Gute Einleitung, oder? ^^

    Also, Problemstellung: Ich habe ein Projekt erstellt und möchte nun ein weiteres Laravelprojekt erstellen und diese miteinander "verknüpfen". Das heißt, sie sollen sich Daten miteinander teilen (z.B. eine gemeinsame Datenbanktabelle nutzen (dann jeweils mit einem anderen Prefix) und eine Registrierung soll die Anmeldungen auf beiden Portalen ermöglichen.

    Ich habe nun folgendes Problem: Ich weiß nicht recht, wie ich das angehen soll - da ich zu dieser Problemstellung einfach zu wenig finde. Einige Models sollen die Projekte sich teilen, einige Controller, sowas alles - von mir aus kopiere ich die Sachen auch jeweils in das neue Projekt rein - aber die Authentifizerung ist hierbei momentan mein Hauptproblem. Nun gab es im Laracasts-Forum den Vorschlag, dass ich mit Packages arbeiten soll - das wurde mir so vor die Füße geworfen... ich bin mir aber nicht recht sicher, ob es die richtige Lösung ist.

    Folgende Anforderungen meinerseits:
    • Ein Webspace
    • Verschiedene Domains
    • Eine Datenbank, eine, gemeinsame, Usertabelle
    • "Teilen" von Model, Views und Controller sollte möglich sein


    Ich kann die Frage leider nicht konkreter äußern - da ich selber nicht recht weiß, wo ich ansetzen soll. =O

    Ich danke euch für jegliche Anregung! :thumbup:
    "Das müsste jetzt funktionieren..."

    ---
    Mit freundlichen Grüßen,
    Vincent Petritz
  • Wie wärs mit einer API oder (wenn gewollt) gleich einer oAuth-Lösung?
    Auf Seite A findet die Authentifizierung statt, von Seite B sendet du einen Request an Seite A mit den Benuterdaten (hier muss z.B. mit einem Token die Sicherheit gewährleistet werden) und du kriegst eine entsprechende Antwort, ob der Benutzer eingeloggt werden kann oder nicht.
    Vorteil: Du kannst (aber musst nicht) zwei unabhängige Usertabellen erstellen und getrennt verwalten.
    Nachteil: Du musst den Mehraufwand betreiben, um eine sichere Schnittstelle zu schaffen.

    PS: Laravel kann doch auf unterschiedliche Datenbanken zugreifen?! Das heißt, du musst für den Login nur die Verknüpfung auf die Datenbank sicherstellen und voila. Falls die Seiten nicht auf dem selben Webspace liegen wird das aber unter Umständen wieder unsauber, da du dann den Server für die Datenbank whitelisten musst und der Hoster grundsätzlich Verbindungen von außen erlauben muss.
  • Vincent Petritz schrieb:

    @Arno: Nun gut, aber wie löst man das dann clever mit den Domains, angenommen man packt es in ein Projekt..
    Hiermit müsste es gehen: laravel.com/docs/4.2/routing#sub-domain-routing

    Eigentlich für Subdomains gedacht, aber das sollte auch nur unter Angabe der Domain funktionieren. Einfach in eine Group alles für Domain A, in die andere Group alles für Domain B und den Rest, den die beiden Anwendungen gemeinsam haben ohne Domain-Gruppe.

    Wobei mir freeks Lösung mit einer API/oAuth sauberer vorkommt. :)