Wie kann ich in zend framework 2 auf die vorherige Seite umleiten?

8

In diesen Situationen möchte ich automatisch zu den Seiten zurückkehren, von denen ich die Anfrage gestellt habe:

  1. Nach dem Beenden einer Aktion (CRUD etc) - Hier müssen wir nach "HTTP_REFERER"
  2. umleiten
  3. Beim Surfen oder Einkaufen, wenn eine Anmeldung erforderlich ist, sollte die Authentifizierung nach Abschluss des Authentifizierungsvorgangs auf dieselbe Seite
  4. umgeleitet werden

Eine andere Situation (die nicht auf die vorherige Seite umleitet):

  • Übergeben Sie eine Weiterleitungs-URL (Landing-Page-Adresse) in der Abfrage, zB: Wenn ich eine (externe) / URL (ofc-codiert) als GET-Abfrageparameter (oder Routenteil) sende, sollte sie mich nach dem Login umleiten diese URL

Ich habe bereits über das Netz gesucht und einige Lösungen aber sie entsprechen nicht Zend Framework 2 . Ich möchte, dass all dies in zf2-Art gemacht wird.

Danke für jede Hilfe!

    
Sanju 13.01.2013, 12:41
quelle

6 Antworten

12

Nun, für die CRUD-Sachen würde ich einfach zu den Routen der vorherigen Aktion umleiten, normalerweise etwas wie admin-index , administrate oder was auch immer. Ich sehe nicht wirklich, warum du in diesem Fall HTTP_REFERER brauchen würdest. Wenn Sie dennoch auf HTTP_REFERER zugreifen möchten, ist dies so einfach:

%Vor%

Weitere Informationen finden Sie unter Zend\Http\Request

Eine Weiterleitung würde mit % co_de erfolgen % von redirect()

%Vor%

Um einige Beispiele für Ihre Anwendungsfälle zu sehen, schlage ich vor, dass Sie sich einige Module ansehen, die Ihren Anwendungsfällen entsprechen. Wahrscheinlich die passendste wäre hier Zf-Commons \ ZfcUser und bjyoungblood \ BjyAuthorize . Für jedes dieser Beispiele habe ich relevante Code-Beispiele verknüpft, die einen Einblick in Ihre Bedürfnisse geben könnten.

    
Sam 13.01.2013, 13:10
quelle
20

Das hat für mich funktioniert:

%Vor%     
hohner 13.02.2013 15:08
quelle
2

Ich denke Refererfeld wird nur gesetzt, wenn Sie auf den Link klicken und sich auf die verdiente Seite umleiten lassen. Nehmen wir zum Beispiel Ссылка . Wenn Sie es googlen und auf den Link klicken, der Sie zu dieser Seite führt, ist der Referer der Google. Wenn Sie diese URL jedoch kopieren und in Ihren Webbrowser einfügen, ist die Referrerseite nicht definiert. Bin ich falsch?

    
user1476961 27.02.2014 13:20
quelle
0

Weniger von dem oben genannten funktionierte für mich, aber das:

%Vor%

[Ich würde es jedoch schätzen, wenn mich jemand aufklärt, warum der "Referer Way" bei mir nicht funktioniert! :) Danke!]

    
Mark 28.09.2013 20:42
quelle
0

wollte nur ein Snippet von meinem endgültigen Code teilen, der behandelt, wenn der Benutzer von einer anderen Seite kommt:

%Vor%     
silenzium 28.01.2015 13:23
quelle
0

Hier ist ein cooler Trick.

Erstellen Sie zuerst ein Merkmal:

%Vor%

Dann eine Schnittstelle:

%Vor%

Verwenden Sie dann die Schnittstelle, um SessionContainer zu injizieren:

%Vor%

Dann in Ihrem Controller:

%Vor%     
quelle

Tags und Links