Zum Inhalt springen

Konditionelle Weiterleitung - Redirect

Erstellt am 6. September 2006 · 9 Antworten · letzte Antwort am 5. Oktober 2006

Tags: felogin, Frage

Julius ·

Hallo,

ich arbeite seit längerer Zeit mit dem Loginbereich.
In diesem Zusammenhang versuche ich einen bereits Eingeloggten FE Nutzer, abhänig von seiner Nutzergruppe, automatisch auf eine andere Seite weiterzuleiten wenn er wieder auf eine Loginseite geht.

Mein Lösungsansatz sieht so aus:
Wenn der Benutzer zur Benutzergruppe 1 oder 4 gehört, wird er auf die geschützte Seite 61, auf die seine Gruppe Zugriffsrechte hat, weitergeleitet.
Alle anderen Benutzergruppen werden auf die Seite 6 Weitergeleitet.

Allerdings funktioniert dies nicht sondern der Benutzer bleibt auf der Angecklickten Loginseite.

Anbei der TS Proramm Text.

Danke schon mal für einen Hinweis!

[usergroup = 1] || [usergroup = 4]
page.10.redirect = 61

[ELSE]
page.20.redirect = 6

[GLOBAL]
Julius ·

Weiß hier den niemand weitere?
Wie könnte man es denn sonst lösen wenn man nicht möchte das jemand auf die Loginseite ein weiteres mal kommt auf der nichts weiter ist als der Login Bereich und der dazu gehörende redirect.

Julius ·

Danke für den Tipp.
Allerdings verstehe ich dieses Template so, das direkt nach dem Login eine Weiterleitung kommt. Das habe ich auch bereits bei mir integriert.
Es soll jedoch bei mir eine Weiterleitung stattfinden die theoretisch auf jeder Seite eingebaut werden könnte, die, nachdem der Benutzer versucht auf Sie zu gelangen, prüft ob der Benutzer bereits eingelogged ist und Ihn dann, Falls " Ja " auf eine andere Seite weiterleitet.

(ist ein bisschen blöd zu erklären, ich hoffe ich konnte mich verständlich machen)

nucles ·
Julius schrieb

Danke für den Tipp.
Allerdings verstehe ich dieses Template so, das direkt nach dem Login eine Weiterleitung kommt. Das habe ich auch bereits bei mir integriert.
Es soll jedoch bei mir eine Weiterleitung stattfinden die theoretisch auf jeder Seite eingebaut werden könnte, die, nachdem der Benutzer versucht auf Sie zu gelangen, prüft ob der Benutzer bereits eingelogged ist und Ihn dann, Falls " Ja " auf eine andere Seite weiterleitet.

(ist ein bisschen blöd zu erklären, ich hoffe ich konnte mich verständlich machen)

Hi Julius!

Hast Du inzwischen eine Lösung des Problems gefunden?
Ich habe nämlich das gleiche Problem

Julius ·

Nein leider nicht. Ich habe es so gelöst das der Benutzer sich selber durchcklicken muss. Ich werde aber wenn ich Zeit finde ein bisschen daran weiterbasteln.
Das Problem ist das Redirect wie ich verstanden habe nur aus Formularen heraus verwendet werden kann.

Grüße

Julius

nucles ·
Julius schrieb

Nein leider nicht. Ich habe es so gelöst das der Benutzer sich selber durchcklicken muss. Ich werde aber wenn ich Zeit finde ein bisschen daran weiterbasteln.
Das Problem ist das Redirect wie ich verstanden habe nur aus Formularen heraus verwendet werden kann.

Grüße

Julius

ich versuche gerade eine mini-Extension für das Lösen dieses Problems zu schreiben.
Wenn ich es fertig habe schreibe ich hier rein

nucles ·

Also, ich habe das Problem so gelöst:

ich habe eine "one-line"-Extension erstellt:

function main($content,$conf)	{
	$this->conf=$conf;
	$this->pi_setPiVarDefaults();
	$this->pi_loadLL();
	
	if($conf["redirectPid"])
	    header("Location: index.php?id=".$conf["redirectPid"]);

}

und auf der Seite die einen Benutzer, abhängig von seiner Benutzergruppenzgehörigkeit, auf eine bestimmte Seite weiterleitet folgenden Code eingefügt:

[usergroup = 7]
plugin.tx_myredirect_pi1 {
 redirectPid = 416
}

[usergroup = 8]
plugin.tx_myredirect_pi1 {
  redirectPid = 440
}
[END]

Man kann natürlich die redirectPid dann auch über Constant Editor einstellen, aber erstmal reicht diese Lösung auch.

Wenn kein Benutzer eingellogt ist, dann gibt es erstmal Problem bei Verwendung dieser Lösung. Aber man kann das auch abfangen. Wie weiss noch nicht.

Wenn Du fragen hast sage bescheid.

wyps ·

Hänge grade am gleichen Problem.

dkd_redirect_at_login bringt den User, egal welche Usergruppe, immer auf ide gleiche Seite.
sv_login_redirect bringt einen Parse error.

Jetzt wollte ich Deinen Lösungsansatz mal versuchen. Wo muss denn dieser PHP-Code hin?

Danke für Deine Hilfe.

nucles ·
wyps schrieb

Hänge grade am gleichen Problem.

dkd_redirect_at_login bringt den User, egal welche Usergruppe, immer auf ide gleiche Seite.
sv_login_redirect bringt einen Parse error.

Jetzt wollte ich Deinen Lösungsansatz mal versuchen. Wo muss denn dieser PHP-Code hin?

Danke für Deine Hilfe.

Du musst aber beachten, diese Lösung ist kein Ersatz für dkd_redirect_at_login oder
sv_login_redirect! Ich würde an deiner Stelle lieber weiter nach Problemen mit z.B newloginbox suchen.
Wenn Du aber trotzdem für einen anderen Zweck diese Lösung brauchst (Problem das Julius und ich hatte) dann musst Du mit dem Kickstarter einen Plugin erzeugen ohne irgendwelche Tabellen in Deiner DB. Und den Code (die Initialisierung der Variablen ist defaultmäßig schon drin) den ich oben aufgeführt habe (letzte 2 Zeilen) in der Funktion "main" in Deiner Klasse einsetzen. Davor aber natürlich den Beispielcode von Kickstarter löschen.

Viel Erfolg!