ich mich weiß, eine Umleitung zu einer URL nach einer erfolgreichen Benutzeranmeldung tun können:auf eine Route nach Benutzeranmeldung
return $this->redirect()->toUrl('/user/login?redirect=http://www.myurl.com');
Nun, ich mag die gleiche Sache zu einer registrierten Route tun statt:
'sso-post-login' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/sso-post-login',
'defaults' => array(
'controller' => 'Application\Controller\Index',
'action' => 'sso-post-login',
),
'may_terminate' => true,
),
),
aber die folgenden nicht funktioniert:
return $this->redirect()->toUrl('/user/login?redirect=/sso-post-login');
Es trifft nicht meine Aktion:
public function ssoPostLoginAction() {
error_log("In sso post login action");
$originUrl = Common::getCookie('sso_post_login', $this->getRequest());
$sessionCookie = Common::getCookie('PHPSESSID', $this->getRequest());
if (null != $sessionCookie && null != $this->getUserService()->getAuthService()->getIdentity()) {
$email = $this->getUserService()->getAuthService()->getIdentity()->getEmail();
$jwtCredentials = $this->buildJWTLoginToken($email);
$originUrl .= "?jwt=" . $jwtCredentials;
return $this->redirect()->toUrl($originUrl);
}
}
Es leitet einfach auf die Hauptseite um, nachdem die Anmeldung abgeschlossen ist.
Nein, es gibt keinen Grund, und ich bin glücklich, eine Lösung zu verwenden, die funktionieren würde. Ich habe deine Lösung ausprobiert, aber es wurde auf die Hauptseite umgeleitet, anstatt auf die "sso-post-login" umzuleiten. – Stephane
Sind Sie sicher, dass Sie im Browser auf http: // www.myurl.com/sso-post-login zugreifen können? Bringt es keinen Fehler oder leitet es zur Hauptseite um? – SzymonM
In der Tat, das war es. Ich hatte vergessen, es wieder in die Datei 'bjyauthorize.php' aufzunehmen. – Stephane