Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #3957
| From | k@rl.pflaesterer.de (Karl Pflästerer) |
|---|---|
| Newsgroups | de.comp.lang.php |
| Subject | Re: Die Tuecken von session_status() |
| Date | 2016-09-09 14:25 +0200 |
| Message-ID | <m1bmzxuunq.fsf@mbp.pflaesterer.de> (permalink) |
| References | <1t57d137aai2c99n3e8%sfroehli@Froehlich.Priv.at> <m1k2emvayf.fsf@mbp.pflaesterer.de> <1t57d1ddbbi72acn3e8%sfroehli@Froehlich.Priv.at> <m1fup9v9x6.fsf@mbp.pflaesterer.de> <1t57d27a96i2af8n3e8%sfroehli@Froehlich.Priv.at> |
Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) writes: > On Fri, 09 Sep 2016 08:56:05 Karl Pflästerer wrote: >> Kannst du das Problem genauer schildern, dass du lösen möchtest? > > Dann will mir ganz bestimmt wieder jemand ausreden, das zu tun, was > ich mache :-) Das kann geschehen. >> Die betreffenden Objekte werden also nicht nur in Sessiondaten >> gespeichert und aus diesen deserialisiert? > > Ich hänge mich gerade bei einer Reihe von Singletons in den > Initialisierungscode, um dort eine Berechtigungsprüfung > durchzuführen; das hat insbesondere den Charme, nicht durch > Unachtsamkeit an anderer Stelle umgangen werden zu können. Für die > Berechtigung brauche ich das aktuelle Login, und das ist in der > Session gespeichert. So weit, so gut. > > Nun kommt es gelegentlich vor, dass auch Singletons in die Session > gelegt werden, und wenn die dann beim Wiederherstellen *vor* dem > Login initialisiert werden, schnappt die Berechtigungsprüfung zu. [...] > Ob ich in einer Session bin oder nicht, ist ja vergleichsweise > einfach festzustellen. Aber ob ich in einer (fertig restaurierten) > Session bin, die kein Login hat, oder ob ich gerade in einer (in > Aufbau befindlichen) Session bin, deren Login erst noch hinzugefügt > wird, das ist schwierig zu unterscheiden. Also musst du entweder sicherstellen, dass die Sessiondaten in einer festen Reihenfolge deserialisiert werden (ich hatte noch nie das Problem, also weiß ich nicht, ob es nicht genügt, die umgekehrte Reihenfolge beim Hinzufügen der Objekte in die Session einzuhalten), oder du musst dich von deinem Automatismus verabschieden und eine Methode/Funktion/whatever explizit aufrufen, die die Berechtigungen prüft. Diese festen Prüfungen gefallen mir nicht mehr so sehr (ich bin da eher bei Python: "explizit is better than implicit"), da man im ersten Augenblick meint, verhindert zu haben, das andere Entwickler (natürlich immer nur andere :-; ) vergessen, Berechtigungen zu prüfen. Bei Szenarien, wie du sie beschreibst, fallen einem diese Automatismen dann auf die Füße. KP
Back to de.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-08 10:16 +0000
Re: Die Tuecken von session_status() k@rl.pflaesterer.de (Karl Pflästerer) - 2016-09-08 14:21 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-08 22:14 +0000
Re: Die Tuecken von session_status() k@rl.pflaesterer.de (Karl Pflästerer) - 2016-09-09 08:56 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-09 09:09 +0000
Re: Die Tuecken von session_status() k@rl.pflaesterer.de (Karl Pflästerer) - 2016-09-09 14:25 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-09 17:03 +0000
Re: Die Tuecken von session_status() k@rl.pflaesterer.de (Karl Pflästerer) - 2016-09-09 20:46 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-11 16:06 +0000
Re: Die Tuecken von session_status() "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-09-09 19:39 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-11 16:02 +0000
Re: Die Tuecken von session_status() "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-09-15 15:25 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-10-02 18:48 +0000
Re: Die Tuecken von session_status() "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-10-03 19:47 +0200
csiph-web