erweitertes loginmodul [gelöst]

Gesperrt
rene04
Beiträge: 600
Registriert: Mo 10. Okt 2005, 12:28
Wohnort: Kaiserslautern
Kontaktdaten:

erweitertes loginmodul [gelöst]

Beitrag von rene04 » Mo 4. Sep 2006, 12:35

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
Zuletzt geändert von rene04 am Do 25. Jan 2007, 13:15, insgesamt 1-mal geändert.

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mo 4. Sep 2006, 23:52

Ä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
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

rene04
Beiträge: 600
Registriert: Mo 10. Okt 2005, 12:28
Wohnort: Kaiserslautern
Kontaktdaten:

Beitrag von rene04 » Di 5. Sep 2006, 06:53

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

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Di 5. Sep 2006, 12:39

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
Sync? Schau Dir mal das hier an:http://openid.net/

Den Dienst kannst Du Dir auch auf den eigenen Server installieren. Macht mehr Sinn, als zwei Datenbank nebeneinander zu betreiben.

rene04
Beiträge: 600
Registriert: Mo 10. Okt 2005, 12:28
Wohnort: Kaiserslautern
Kontaktdaten:

Beitrag von rene04 » Di 5. Sep 2006, 12:43

wir haben aber schon eine main-db und halt gezwungener maßen noch die des cms contenido. wir wollen aber nur die main-db pflegen.

das is nix für mich :(

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 5. Sep 2006, 19:28

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
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

rene04
Beiträge: 600
Registriert: Mo 10. Okt 2005, 12:28
Wohnort: Kaiserslautern
Kontaktdaten:

Beitrag von rene04 » Mi 6. Sep 2006, 08:28

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

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 8. Sep 2006, 22:05

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
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

rene04
Beiträge: 600
Registriert: Mo 10. Okt 2005, 12:28
Wohnort: Kaiserslautern
Kontaktdaten:

Beitrag von rene04 » Mo 11. Sep 2006, 08:03

nun gut, dann werd ich mir eben mal die dateien im conlib verzeichnis ansehen.

gruesse

rene04
Beiträge: 600
Registriert: Mo 10. Okt 2005, 12:28
Wohnort: Kaiserslautern
Kontaktdaten:

Beitrag von rene04 » Mo 15. Jan 2007, 19:01

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

ZuMe
Beiträge: 71
Registriert: Sa 20. Dez 2003, 13:36
Kontaktdaten:

Beitrag von ZuMe » Sa 13. Okt 2007, 13:15

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? ;) )

Gesperrt