erweitertes loginmodul [gelöst]
erweitertes loginmodul [gelöst]
hallo,
ich habe mein standard-login-modul etwas modifiziert. es wird nun anmeldename und passwort an eine logivalidate.php übergeben. diese datei verbindet sich mit einer anderen datenbank in welcher geprüft wird ob username und passwort korrekt sind. soweit sogut. nach klick auf go im login-modul wird erstmal die loginvalidate.php aufgerufen und meldet mir das ich erfolgreich in die fremd-db eingeloggt bin (testweise nur die meldung).
nun muss ich contenido noch mitteilen, daß eine login für contenido-frontend stattfinden kann. wie geht das von statten? muss ich was in die db von contenido eintragen? was? wie gehe ich weiter vor?
gruesse rene
ich habe mein standard-login-modul etwas modifiziert. es wird nun anmeldename und passwort an eine logivalidate.php übergeben. diese datei verbindet sich mit einer anderen datenbank in welcher geprüft wird ob username und passwort korrekt sind. soweit sogut. nach klick auf go im login-modul wird erstmal die loginvalidate.php aufgerufen und meldet mir das ich erfolgreich in die fremd-db eingeloggt bin (testweise nur die meldung).
nun muss ich contenido noch mitteilen, daß eine login für contenido-frontend stattfinden kann. wie geht das von statten? muss ich was in die db von contenido eintragen? was? wie gehe ich weiter vor?
gruesse rene
Zuletzt geändert von rene04 am Do 25. Jan 2007, 13:15, insgesamt 1-mal geändert.
Ähm... Du müsstest die Session-Verwaltung nachbauen, nicht so einfach...
Habe bei diesem Konstrukt nicht wirklich eine Idee. Ich würde die Accounts in die Contenido-DB übertragen oder in der conlib stöbern und dort entweder die Überprüfung gegenüber Deiner anderen DB integrieren oder den Code geeignet ändern (bitte jetzt nicht Fragen, wie... keine Ahnung).
Gruß
HerrB
Habe bei diesem Konstrukt nicht wirklich eine Idee. Ich würde die Accounts in die Contenido-DB übertragen oder in der conlib stöbern und dort entweder die Überprüfung gegenüber Deiner anderen DB integrieren oder den Code geeignet ändern (bitte jetzt nicht Fragen, wie... keine Ahnung).
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
wie wäre es mit einer temporären übernahme des momentan eingeloggten accounts? der account wird dann beim logoff wieder aus der contenido db gelöscht. interessant wäre vielleicht auch ne tägliche synchronisierung der logindaten zwischen beiden dbs.
wäre allerdings beides nur ein workaround. im edealfall wird nur ein flag in der contenido db gesetzt das logged in user zugriff auf frontend hat. nur wie und wo?
gruesse
wäre allerdings beides nur ein workaround. im edealfall wird nur ein flag in der contenido db gesetzt das logged in user zugriff auf frontend hat. nur wie und wo?
gruesse
Sync? Schau Dir mal das hier an:http://openid.net/rene04 hat geschrieben:wie wäre es mit einer temporären übernahme des momentan eingeloggten accounts? der account wird dann beim logoff wieder aus der contenido db gelöscht. interessant wäre vielleicht auch ne tägliche synchronisierung der logindaten zwischen beiden dbs.
wäre allerdings beides nur ein workaround. im edealfall wird nur ein flag in der contenido db gesetzt das logged in user zugriff auf frontend hat. nur wie und wo?
gruesse
Den Dienst kannst Du Dir auch auf den eigenen Server installieren. Macht mehr Sinn, als zwei Datenbank nebeneinander zu betreiben.
Das Problem ist, dass ein angemeldeter Frontend-User von Contenido (bzw. der conlib) eine Session-ID erhält - die Session enthält verschiedene Angaben, z.B. die uid und uname (uid = nobody, wenn nicht angemeldet).
Sobald ein User auf die Webseite geht, erhält er bereits eine Contenido-Session. Nun musst Du herausbekommen, wie diese bei Verwendung eines Login-Moduls via conlib in eine Session mit der Information "angemeldet" umgewandelt wird. Ggf. kannst Du diese Umwandlung nachbauen.
Dazu musst Du Dich mit der conlib auseinandersetzen...
Gruß
HerrB
Sobald ein User auf die Webseite geht, erhält er bereits eine Contenido-Session. Nun musst Du herausbekommen, wie diese bei Verwendung eines Login-Moduls via conlib in eine Session mit der Information "angemeldet" umgewandelt wird. Ggf. kannst Du diese Umwandlung nachbauen.
Dazu musst Du Dich mit der conlib auseinandersetzen...
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
es soll ja so sein das wenn man sich einmal eingeloggt hat bei contenido über die fremd db dann auf alle anderen fremdprodukte welche normalerweise ein gesondertes login verlangen zugreifen kann ohne sich nochmals dort anmelden zu müssen. eines der fremdprodukte basiert auf java und jsp.
also muss ich ne komplette session verwaltung bauen was absolut nicht trivial ist. und ein normales update von contenido wäre dann auch nicht mehr möglich d.h: es wäre mit einem enormen pflegeaufwand verbunden.
gruesse
also muss ich ne komplette session verwaltung bauen was absolut nicht trivial ist. und ein normales update von contenido wäre dann auch nicht mehr möglich d.h: es wäre mit einem enormen pflegeaufwand verbunden.
gruesse
Na ja nein, eigentlich nicht. Wie bereits mehrfach erwähnt (und das ist dann auch mein letzter Post dazu), kannst Du Dich mit den Dateien im conlib-Verzeichnis auseinandersetzen.
Dort kannst Du das Session-Handling für das Frontend-Login so ändern, dass zur Prüfung eben Anmeldenamen und PW aus der anderen DB überprüft wird. Sobald dies erfolgreich ist, lässt Du die entsprechende Routine wie gehabt durchlaufen.
Das einzige Problem sehe ich darin, was für Angaben man für uid und uname und ggf. andere in der Contenido-Session gespeicherte Daten einträgt...
Gruß
HerrB
Dort kannst Du das Session-Handling für das Frontend-Login so ändern, dass zur Prüfung eben Anmeldenamen und PW aus der anderen DB überprüft wird. Sobald dies erfolgreich ist, lässt Du die entsprechende Routine wie gehabt durchlaufen.
Das einzige Problem sehe ich darin, was für Angaben man für uid und uname und ggf. andere in der Contenido-Session gespeicherte Daten einträgt...
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
hallo,
soooooooo, was lange währt wird endlich gut, oder wie war das?
das konzept dynamisch den user in einer ander db zu validieren und simultan einen temporören user in contenido anzulegen war zu hart für mich, aaaaaber ich habe es nun wie folgt gelöst (auch 2 dateien im conlib modifiziert):
- Kunden und Mitarbeiter werden zusätzlich über sql-script in Datenbank von Contenido mit einem Dummy-Passwort eingetragen.
- Loginmodul von Contenido gibt das eingegebene Passwort an Session von Contenido weiter
- Loginmodul prüft eingeloggten Usernamen aus Contenido mit Login von TrackStudio Datenbank
- Loginmodul prüft Passwort aus Session mit Passwort aus TrackStudio
- Loginmodul gibt Zugriff auf geschützte Seiten frei
- Bei Zugriff auf TrackStudio oder DIS wird der Username und das Passwort automatisch mitgeliefert und ein manueller (zusätzlicher) Anmeldevorgang ist nicht mehr nötig.
Mit diesem Verfahren ist eine Passwortänderung seitens des Kunden oder eines Mitarbeiters für den Anmeldevorgang unkritisch.
wer code sehen oder haben will, kanns gerne hier posten. vielleicht findet jemand noch fehler
gruesse rene
soooooooo, was lange währt wird endlich gut, oder wie war das?
das konzept dynamisch den user in einer ander db zu validieren und simultan einen temporören user in contenido anzulegen war zu hart für mich, aaaaaber ich habe es nun wie folgt gelöst (auch 2 dateien im conlib modifiziert):
- Kunden und Mitarbeiter werden zusätzlich über sql-script in Datenbank von Contenido mit einem Dummy-Passwort eingetragen.
- Loginmodul von Contenido gibt das eingegebene Passwort an Session von Contenido weiter
- Loginmodul prüft eingeloggten Usernamen aus Contenido mit Login von TrackStudio Datenbank
- Loginmodul prüft Passwort aus Session mit Passwort aus TrackStudio
- Loginmodul gibt Zugriff auf geschützte Seiten frei
- Bei Zugriff auf TrackStudio oder DIS wird der Username und das Passwort automatisch mitgeliefert und ein manueller (zusätzlicher) Anmeldevorgang ist nicht mehr nötig.
Mit diesem Verfahren ist eine Passwortänderung seitens des Kunden oder eines Mitarbeiters für den Anmeldevorgang unkritisch.
wer code sehen oder haben will, kanns gerne hier posten. vielleicht findet jemand noch fehler
gruesse rene
Hallo rene04,
mich würde das Script sehr interessieren. Leider kann ich Dir aber dafür kein Geld bieten, denn meine Seite ist rein privates Spass-gebastel.
Ich könnte das Script brauchen, um meinen angemeldeten Foren-User einen Login auf der Contenido Seite zu ermöglichen.
(Ich denke, es sind nur geringe Modifikationen nötig, um dem Script zu sagen, daß es nicht Deine Trackstudio Tabelle, sondern meine Foren-User abfragen soll. Oder? )
mich würde das Script sehr interessieren. Leider kann ich Dir aber dafür kein Geld bieten, denn meine Seite ist rein privates Spass-gebastel.
Ich könnte das Script brauchen, um meinen angemeldeten Foren-User einen Login auf der Contenido Seite zu ermöglichen.
(Ich denke, es sind nur geringe Modifikationen nötig, um dem Script zu sagen, daß es nicht Deine Trackstudio Tabelle, sondern meine Foren-User abfragen soll. Oder? )