UMGT 2.0: LoginProvider - Verständnis

Anmerkungen, Fragen und Hinweise zur Konfiguration dürfen in diesem Forum gepostet werden. // Notes, questions, and hints on the configuration can be posted here.
Antworten
Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

UMGT 2.0: LoginProvider - Verständnis

Beitrag von ma2604121 » 11.12.2013, 13:54:31

Hallo,

ich möchte nach dem Login/Logout gerne auf bestimmte Seiten weitergeleitet werden. Hierzu gibt es den LoginProvider bzw. LogoutProvider. Die Konfiguration erfolgt in APF/config/modules/usermanagement/biz/[CONTEXT]/DEFAULT_serviceobjects.ini.

Nun wollte ich diesen an mein Projekt anpassen. Mein Projekt liegt unter /var/www/auto. APF 2.0 ist unter /var/www/APF zu finden.

Die DEFAULT_serviceobjects.ini sieht dann wie folgt aus:

Code: Alles auswählen

; Original
;[LoginRedirectUrlProvider]
;servicetype = "NORMAL"
;class = "APF\sandbox\pres\provider\SandboxLoginRedirectProvider"

[LoginRedirectUrlProvider]
servicetype = "NORMAL"
class = "auto\provider\autoLoginProvider" 
Der Provider findet sich in /var/www/auto/provider/autoLoginProvider.php

Code: Alles auswählen

<?php
use APFmodulesusermanagementbizloginUmgtRedirectUrlProvider;
use APFcorepagecontrollerAPFObject;

class autoLoginProvider extends APFObject implements UmgtRedirectUrlProvider {

    // Nach dem Anmelden auf die Startseite im Mitgliederbereich weiterleiten
    public function getRedirectUrl() {
    return '?p=startlogin';
    }
}
?>
Das Ganze führt zu folgender Fehlermeldung:

Code: Alles auswählen

Fatal error: Class 'auto\provider\autoLoginProvider' not found in /var/www/APF/core/service/ServiceManager.php on line 94 
Das kann ich nachvollziehen. Aber irgendwie hab ich das System dann doch nicht ganz verstanden: Was für einen Pfad müsste ich in der DEFAULT_serviceobjects.ini angeben, damit ein Provider in /var/www/auto/provider ausgeführt wird??

Angemeldet werde ich allerdings trotz der Fehlermeldung. Wenn ich die index.php erneut aufrufe, bin ich angemeldet.
Zuletzt geändert von ma2604121 am 12.12.2013, 13:08:34, insgesamt 2-mal geändert.

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

Re: UMGT 2.0: LoginProvider - Verständnis

Beitrag von dr.e. » 12.12.2013, 01:00:24

Hallo ma2604121,

es sieht so aus, also ob hier etwas mit dem ClassLoader schief geht. Hast du für "auto" einen solchen registriert (siehe http://adventure-php-framework.org/Seit ... lassLoader)?
Viele Grüße,
Christian

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

Re: UMGT 2.0: LoginProvider - Verständnis

Beitrag von ma2604121 » 12.12.2013, 13:07:48

Vermutlich hängt es damit zusammen.

In der index.php habe ich folgenden Eintrag:

Code: Alles auswählen

$classLoader = new StandardClassLoader('AUTO','../auto');
RootClassLoader::addLoader($classLoader); 
Reicht der nicht aus?

Der Aufruf in der index.php

Code: Alles auswählen

echo $fC->start('AUTO\templates','main'); 
wird schließlich auch tadellos umgesetzt.

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

Re: UMGT 2.0: LoginProvider - Verständnis

Beitrag von dr.e. » 12.12.2013, 14:16:48

In dem Fall ist deine Klasse jedoch mit auto\provider\autoLoginProvider benannt und damit kann der ClassLoader diese ggf. nicht laden.
Viele Grüße,
Christian

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

Re: UMGT 2.0: LoginProvider - Verständnis

Beitrag von ma2604121 » 12.12.2013, 14:18:15

Kannst Du etwas konkreter werden? Meinst Du in der .ini?

So funktioniert es auch nicht:

Code: Alles auswählen

[LoginRedirectUrlProvider]
servicetype = "NORMAL"
class = "AUTO\provider\autoLoginProvider" 

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

Re: UMGT 2.0: LoginProvider - Verständnis

Beitrag von dr.e. » 12.12.2013, 14:24:54

Korrekt das meinte ich.

Hast du in /var/www/auto/provider/autoLoginProvider.php eine namespace-Deklaration? Vermutlich ist das der Fehler...
Viele Grüße,
Christian

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

Re: UMGT 2.0: LoginProvider - Verständnis

Beitrag von ma2604121 » 12.12.2013, 14:52:43

Nein, kein namespace. Da ist der komplette Provider:

Code: Alles auswählen

<?php
use APFmodulesusermanagementbizloginUmgtRedirectUrlProvider;
use APFcorepagecontrollerAPFObject;

class autoLoginProvider extends APFObject implements UmgtRedirectUrlProvider {
    // Nach dem Anmelden auf die Startseite im Mitgliederbereich weiterleiten
    public function getRedirectUrl() {
    return '?p=startlogin';
    }
}
?>

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

Re: UMGT 2.0: LoginProvider - Verständnis

Beitrag von dr.e. » 12.12.2013, 23:20:21

Dann ist die Lösung klar! ;)
Viele Grüße,
Christian

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

Re: UMGT 2.0: LoginProvider - Verständnis

Beitrag von ma2604121 » 13.12.2013, 10:42:58

Das stimmt wohl... Oh man... ;)

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast