UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Hier finden sich Fragen und Ergänzung zur Dokumentation. // All questions and discussions about the documentation.
Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von ma2604121 » 23.06.2011, 15:51:09

Also...

Ich habe mir nun mittels

Code: Alles auswählen

svn export https://adventurephpfra.svn.sourceforge.net/svnroot/adventurephpfra
alles heruntergeladen.

Die aktuellste Version müsste in adventurephpfra/branches/php5/1.14/ zu finden sein - richtig?

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von Screeze » 23.06.2011, 16:00:59

Jap.
wenn du die Sandbox aufsetzt, musst du allerdings ein paar Ordner verschieben/kopieren, hast du das gemacht? (am besten mal frisch aufsetzen)

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von dr.e. » 28.06.2011, 22:34:11

Hallo ma2604121,

funktioniert das Login/Logout bei dir nun? Ich habe den Fehler versucht bei mir lokal mit dem aktuellen SVN-Stand nachzuvollziehen und kann keinen Fehler feststellen. Wichtig dabei ist jedoch, dass die Konfiguration für den LoginRedirectUrlProvider und LogoutRedirectUrlProvider vorhanden ist. Kann dieser nicht geladen werden, ansonsten werden Exceptions fliegen.
Viele Grüße,
Christian

Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von ma2604121 » 28.06.2011, 23:08:10

Bei mir ist die Zeit derzeit etwas knapp und ich konnte mich noch nicht wirklich damit beschäftigen. Sobald ich mich nochmal daran versucht habe, gebe ich hier eine Rückmeldung.

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von Megger » 28.06.2011, 23:34:07

Der Redirect war mir noch nicht so ganz klar, nachdem ich hier im Forum einiges gelesen hatte funktionierte es auch, aber wäre es nicht vielleicht sinnvoll, per default auf URLBasePath zu leiten und in der "noch nicht" vorhandenen Dokumentation explizit darauf hinzuweisen, dass die Möglichkeit existiert etwas anderes anzugeben?
Ich persönlich würde eh nach einem Login auf die BaseUrl weiterleiten und durch den Login dann andere Inhalte anzeigen als vorher
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von dr.e. » 29.06.2011, 23:36:18

Hi Tobi,

ich hatte lange überlegt, ob es einen Fallback geben sollte der entweder nicht weiterleitet oder einfach auf die Root-Seite weiterleitet. Damit hast du jedoch das Problem, dass u.U. nicht beabsichtigte Parameter in der URL stehen oder du Parameter verlierst, die du für den Betrieb einer Anwendung benötigst (z.B. FC-Actions). Deshalb muss es einen Provider geben, der an sich auch nicht schwer zu implementieren ist. Nachteil ist sicher, dass es eine Konfiguration und eine Implementierung braucht, dadurch stellst du aber die Konsistenz der Anwendung sicher.

Dies muss natürlich in der Doku explizit als TODO aufgeführt und mit einem Beispiel belegt werden. Sofern du noch ein Beispiel suchst, kannst du die Sandbox nutzen. Dort wurde ein Login- und Logout-Redirect-Provider implementiert, der im Wesentlichen eine statische URL zurück gibt.
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von dave » 07.08.2012, 11:11:27

Hallo zusammen,

ich bin gerade dabei, meine Funktionen in diversen Browsern zu testen. Ich musste dabei feststellen, dass der Login- und Logout-RedirectProvider aus der Sandbox nur im Internet Explorer funktioniert. Bei FireFox und Chrome bleibt es bei einer weissen Seite ohne jegliche Ausgaben. Ich habe exakt die Sandbox-Implementierung nachgebaut.
Mich wundert es sowieso, dass es hier auch Unterschiede für die Browser gibt, zumal das doch alles serverseitig läuft. Ich verstehe das grade nicht.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von dr.e. » 07.08.2012, 13:29:56

Hi dave,

das ist in der Tat komisch. Kannst du mal deine Implementierung und deine Konfiguration posten? Hast du mal in den Logs nachgesehen bzw. einen Proxy (z.B. HttpFox) genutzt um die Server-Antwort auszuwerten?
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von dave » 08.08.2012, 11:49:13

Konfiguration:

Code: Alles auswählen

[LoginRedirectUrlProvider]
servicetype = "NORMAL"
namespace = "sites::business::pres::provider"
class = "LoginRedirectProvider"

[LogoutRedirectUrlProvider]
servicetype = "NORMAL"
namespace = "sites::business::pres::provider"
class = "LogoutRedirectProvider"
Implementierung:

Aufruf des Login erfolgt in der "Login-Box", welche auf den Controller des UMGT umgt_login_controller verweist. Die Login-Box ist dabei nur eine leicht abgeänderte Kopie des UMGT-Login mit ein paar anderen Worten sowie zusätzlichen Links. Die Templates vom Original sowie die Beschriftungen sind vorhanden geblieben.

Im umgt_login_controller gibts ja dann den Bereich der Weiterleitung, welcher auf den LoginRedirectUrlProvider verweist. Dabei kommt ja dann die oben gepostete Konfig zum Einsatz.

Hier also die beiden Provider:

Code: Alles auswählen

import('modules::usermanagement::biz::login', 'UmgtRedirectUrlProvider');

class LoginRedirectProvider extends APFObject implements UmgtRedirectUrlProvider {

   public function getRedirectUrl() {
      return '?view=';
   }

}

import('modules::usermanagement::biz::login', 'UmgtRedirectUrlProvider');

class LogoutRedirectProvider extends APFObject implements UmgtRedirectUrlProvider {

   public function getRedirectUrl() {
      return '?view=';
   }

} 
Beide befinden sich natürlich in seperaten Dateien, ich habe die jetzt nur der Einfachheit halber zusammen gepostet ;)

?view= enspricht der Startseite.


Im Firefox habe ich nun den HttpFox integriert. Danach hat der Login ohne weitere Probleme geklappt. Einzig im Chrome passiert gar nichts.
Der Logout endet im Firefox mit einer Endlosschleife, die dann automatisch abgebrochen wird. Über den HttpFox lässt sich das auch gut nachvollziehen. Beim Chrome klappt absolut nicht ...

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von dr.e. » 10.08.2012, 10:34:58

Hi dave,

ich habe mir die Implementierung angesehen. Kann es sein, dass die Logout-Action weiterhin in der URL auftaucht? Dies würde die Logout-Schleife zumindest erklären.

Ansonsten bekomme ich den Fehler leider mit deinen Providern nicht nachgestellt. :( Kannst du mir das Package mal zur Verfügung stellen?
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von dave » 10.08.2012, 11:01:08

dr.e. hat geschrieben:Hi dave,

ich habe mir die Implementierung angesehen. Kann es sein, dass die Logout-Action weiterhin in der URL auftaucht? Dies würde die Logout-Schleife zumindest erklären.
Jap, so ist es. Was machen wir da? ;) Bin sehr kurzentschlossen dieses Wochenende fürn Kurztrip an die Ostsee unterwegs. Bin am Montag zurück, es eilt also nichts!

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von dave » 13.08.2012, 18:07:13

So, Fehler gefunden! Lag mal wieder an mir ... bin das nun aber mal Schritt für Schritt durchgegangen.

Mein Problem war, dass meine Anwendung in einem Unterverzeichnis auf der URL liegt. Wenn ich allerdings über meinen Login- und Logout- Provider auf die Main-URL ohne den Unterordner verweise, machen der Chrome und Firefox gravierende Probleme. Warum dann den IE nicht interessiert, ist echt sehr komisch.

Es ist also gaaanz wichtig, im Provider auch via

Code: Alles auswählen

LinkGenerator::generateActionUrl(Url::fromCurrent(), ...); 
das Weiterleitungsziel zu deaklarieren und nicht, wie ich der Bequemlichkeit ahlber gemacht habe, direkt das Ziel einzutragen, denn

Code: Alles auswählen

?view=
ist in meinem Fall falsch.

Trotzdem danke für die Mühe, hast mich auf die richtige Spur geführt!

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: UMGT: Weiterleiten nach Anmeldung, Fehlermeldung

Beitrag von dr.e. » 13.08.2012, 22:15:44

Hallo dave,

super, dass du den Fehler gefunden hast. Das Fehlerbild klingt mir stark nach http://www.w3.org/Protocols/rfc2616/rfc ... l#sec14.30. Der Browser kann diese relative URL vermutlich einfach nicht intepretieren.
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast