# Vorgeschaltete Loginseite

**URL:** https://forum.shopware.com/t/vorgeschaltete-loginseite/29357
**Category:** Programmierung
**Created:** [4. August 2015 um 11:23 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357 "2015-08-04T11:23:46Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![herweck](https://avatars.discourse-cdn.com/v4/letter/h/278dde/32.png) [@herweck](https://forum.shopware.com/u/herweck)
#### Post date: [4. August 2015 um 11:23 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357/1 "2015-08-04T11:23:46Z")

</div>

Hallo, wenn ein Besucher den Shop besucht hätte ich gerne, dass er immer zur Logikseite weitergeleitet wird, wenn er nicht angemeldet ist. Wie kann man das am Besten realisieren? Bin Fr jede Hilfe dankbar…

---

<div class="post-metadata">

### Author: ![benblub](https://avatars.discourse-cdn.com/v4/letter/b/ebca7d/32.png) [@benblub](https://forum.shopware.com/u/benblub)
#### Post date: [4. August 2015 um 11:28 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357/2 "2015-08-04T11:28:02Z")

</div>

prüfen ob die Session gesetzt wurde und ggf. auf Login redirecten.

---

<div class="post-metadata">

### Author: ![hec](https://avatars.discourse-cdn.com/v4/letter/h/e274bd/32.png) [@hec](https://forum.shopware.com/u/hec)
#### Post date: [4. August 2015 um 11:50 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357/3 "2015-08-04T11:50:45Z")

</div>

schau mal hier: [programmierung-f103/user-abfrage-in-bootstrap-php-geht-nicht-t28178.html](http://forum.shopware.com/programmierung-f103/user-abfrage-in-bootstrap-php-geht-nicht-t28178.html) Freundliche Grüße, Sven

---

<div class="post-metadata">

### Author: ![herweck](https://avatars.discourse-cdn.com/v4/letter/h/278dde/32.png) [@herweck](https://forum.shopware.com/u/herweck)
#### Post date: [4. August 2015 um 12:30 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357/4 "2015-08-04T12:30:42Z")

</div>

Ich habe es jetzt mal mit einem kleinen Plugin probiert, das bis jetzt nicht funktioniert. Ist mein erstes Plugin. Was mache ich falsch? `public function install() { $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Index', 'onPostDispatchIndex' ); return true; } public function uninstall() { return array('success' =\> true, 'invalidateCache' =\> array('frontend')); } public function onPostDispatchIndex(Enlight\_Event\_EventArgs $arguments) { /\*\*@var $controller Shopware\_Controllers\_Frontend\_Index \*/ $controller = $arguments-\>getSubject(); if ($this-\>Application()-\>Session()) { // Kunde ist angemeldet $controller-\>forward('index'); } else { // Kunde nicht angemeldet $controller-\>forward('account'); }`

---

<div class="post-metadata">

### Author: ![benblub](https://avatars.discourse-cdn.com/v4/letter/b/ebca7d/32.png) [@benblub](https://forum.shopware.com/u/benblub)
#### Post date: [4. August 2015 um 12:38 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357/5 "2015-08-04T12:38:50Z")

</div>

Cache gelöscht? try this `if (!empty(Shopware()-\>System()-\>sUserId)) {` Weiter ruft ein Besucher nicht zwangsläufig die index auf, dementsprechend `Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Index` ändern zu `Enlight\_Controller\_Action\_PostDispatch\_Frontend`

---

<div class="post-metadata">

### Author: ![herweck](https://avatars.discourse-cdn.com/v4/letter/h/278dde/32.png) [@herweck](https://forum.shopware.com/u/herweck)
#### Post date: [4. August 2015 um 14:10 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357/6 "2015-08-04T14:10:55Z")

</div>

Leider kein Unterschied. Der Shop lädt die Startseite, macht aber keine Weiterleitung zum Login. Das Redirect scheint nicht zu greifen…

---

<div class="post-metadata">

### Author: ![benblub](https://avatars.discourse-cdn.com/v4/letter/b/ebca7d/32.png) [@benblub](https://forum.shopware.com/u/benblub)
#### Post date: [4. August 2015 um 14:21 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357/7 "2015-08-04T14:21:28Z")

</div>

[quote]$this-\>forward()Anchor link for: this forward Will allow you to redirect the request to another controller (action), without actually redirecting the user. Controller forwards will always be handled in the very same request. $this-\>redirect()Anchor link for: this redirect Will perform a full HTTP redirect with the corresponding status code.[/quote] probier das ganze mal mit $this-\>redirect() aus 😉

---

<div class="post-metadata">

### Author: ![herweck](https://avatars.discourse-cdn.com/v4/letter/h/278dde/32.png) [@herweck](https://forum.shopware.com/u/herweck)
#### Post date: [4. August 2015 um 14:57 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357/8 "2015-08-04T14:57:44Z")

</div>

Bringt leider auch nichts…

---

<div class="post-metadata">

### Author: ![hec](https://avatars.discourse-cdn.com/v4/letter/h/e274bd/32.png) [@hec](https://forum.shopware.com/u/hec)
#### Post date: [4. August 2015 um 16:14 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357/9 "2015-08-04T16:14:46Z")

</div>

probier mal so: ` private function subscribeEvents() { $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PreDispatch\_Frontend', 'onFrontendPreDispatch' ); } public function onFrontendPreDispatch(Enlight\_Event\_EventArgs $args) { /\*\* @var \Enlight\_Controller\_Action $controller \*/ $controller = $args-\>get('subject'); /\*\* @var Enlight\_Controller\_Request\_RequestHttp $request \*/ $request = $args-\>get('request'); if ($request-\>getControllerName() == 'register') { return; } if (!Shopware()-\>Modules()-\>Admin()-\>sCheckUser()) { $controller-\>forward('index', 'register'); } } ` ggfls. muss noch -wie unter [http://community.shopware.com/Shopware- … e\_Dispatch](http://community.shopware.com/Shopware-4-Events-und-Hooks%5C_detail%5C_981.html#Pre%5C_Dispatch) beschrieben- geprüft werden, dass das Event valide ist

---

<div class="post-metadata">

### Author: ![herweck](https://avatars.discourse-cdn.com/v4/letter/h/278dde/32.png) [@herweck](https://forum.shopware.com/u/herweck)
#### Post date: [5. August 2015 um 11:08 UTC](https://forum.shopware.com/t/vorgeschaltete-loginseite/29357/10 "2015-08-05T11:08:05Z")

</div>

Hallo, ich habe jetzt hinbekommen mit einer kleinen Änderung: `private function subscribeEvents() { $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PreDispatch\_Frontend', 'onFrontendPreDispatch' ); } public function onFrontendPreDispatch(Enlight\_Event\_EventArgs $args) { /\*\* @var \Enlight\_Controller\_Action $controller \*/ $controller = $args-\>get('subject'); /\*\* @var Enlight\_Controller\_Request\_RequestHttp $request \*/ $request = $args-\>get('request'); if (($request-\>getControllerName() == 'register') || ($request-\>getControllerName() == 'account')) { return; } if (!Shopware()-\>System()-\>\_SESSION['sUserId']) { $controller-\>forward('index', 'register'); } }`
