[TYPO3-german] FE Session auf dem Ipad

Michael typo3ml at schams.net
Sat Dec 10 03:06:57 CET 2011


On 10/12/11 04:08, Christoph Hofmann wrote:

> wenn man bei einem iPad einen Link auf dem Homescreen erstellt und
> diesen nutzt, fliegt man immer aus der fe-user session.

Jep, das kann ich bestaetigen :-)

Ich habe zwar keine endgueltige Loesung, aber ein workaround dafuer
(siehe unten).

> Ein erneutes Aufrufen der url mit dem Safari (der vorher geschlossen
> wurde), bleibt die session bestehen.

Ich habe mal etwas Zeit investiert und versucht, dass etwas genauer zu
testen. Also: Introduction Package v4.6.0 auf dem server und iPad2 iOS
5.0.1 (UA: Version/5.1 Mobile/9A405 Safari/7534.48.3) als client.

- Safari oeffnen, TYPO3 FE aufrufen (PageID: 6 erscheint)
- link "Customer Login" klicken (PageID: 28)
- login als "customer1" (login successful)
- home button auf dem iPad druecken (vorher *nicht* ausloggen)
- irgendwelche anderen Programme starten
- home button auf dem iPad druecken
- Safari erneut aufrufen ("login successful" message noch sichtbar)
- (es wird KEIN neuer request gesendet!)
- link "Customer Login" klicken (PageID: 28)
- GET request wird gesendet (PageID: 28)
- man ist weiterhin eingeloggt
- "logout" button clicken

Site als icon/shortcut auf dem home screen legen:

- "Add to Home Screen" -> name: "Introduction"
- mini screenshot als icon verwenden, wie vorgeschlagen -> Add
- shortcut (bookmark) erscheint auf dem Home Screen, Safari beendet sich

Durch die letzten Schritte werden mehrere requests an den server
gesendet, um ein "besseres" icon zu erhalten, sofern auf dem server
hinterlegt:

GET /apple-touch-icon-72x72-precomposed.png
GET /apple-touch-icon-72x72.png
GET /apple-touch-icon-precomposed.png
GET /apple-touch-icon.png

Diese sind natuerlich im Introduction Package nicht vorhanden und der
Server antwortet jeweils mit "404" (page not found) und liefert
anschliessend die Seite mit PageID 16 (file not found) an den client.

Aufruf der TYPO3 site ueber den shortcut:

- tip auf das icon auf dem Home Screen
- Safari oeffnet sich und zeigt PageID 28 (das ist korrekt)
- user ist *nicht* eingeloggt
- requests zu moeglichen icons werden ausgefuehrt, wie oben
- login als "customer1" (login successful)
- klicke 2, 3 mal auf den link "customer login"
- user bleibt eingeloggt
- home button auf dem iPad druecken, Safari beendet sich
- erneut tip auf das icon auf dem Home Screen
- GET request zu PageID 28 wird ausgefuehrt
- requests zu moeglichen icons werden ebenfalls wieder ausgefuehrt (404
responses)
- "login status" laesst vermuten, dass man noch eingeloggt waere
- klicke auf den link "customer login"
- login form fordert zum erneuten login auf
- (FE user wurde also aus der session geschmissen)

Interessanterweise (und ich habe noch keine Erklaerung dafuer)
funktioniert anscheinend folgender Workaround: erstelle das Icon
(irgendein kleines PNG file, z.B. blankdot.png) und speichere es unter
apple-touch-icon-72x72-precomposed.png im DocRoot ab.
Loesche den Cache von Safari und fuehre die Schritte, wie oben
beschrieben, erneut aus...

Auch wenn du die TYPO3 site ueber den shortcut auf dem Home Screen
aufrufst, als FE user eingeloggst bist, Safari beendest und den shortcut
erneut aufrufst, bleibst du jetzt eingeloggt.

Es wird uebrigens keine andere SessionID zum iPad uebertragen (daran
liegt's nicht), die IP Adresse des clients ist ebenfalls gleich.
Der einzige Unterschied, den ich feststellen konnte, waren eben die
requests zu dem .png, die nicht bei einem "normalen" Safari-Aufruf
getriggert werden.

Cheers
Michael


More information about the TYPO3-german mailing list