That's why external libraries exist. A framework is not a "big universal
problem solver".

Marco Pivetta

http://twitter.com/Ocramius

http://ocramius.github.com/


On 19 February 2013 10:40, roberto blanko <robertobla...@gmail.com> wrote:

> Thanks a lot, Marco. I’ll give that a try. But in the end, there’s not much
> left of the framework if I keep implementing custom adapters.
>
>
> On Tue, Feb 19, 2013 at 10:13 AM, Marco Pivetta <ocram...@gmail.com>
> wrote:
>
> > You can use a smarter auth storage. Doctrine's Auth storage adapter
> stores
> > only the identifier:
> >
> https://github.com/doctrine/DoctrineModule/blob/0.7.0/src/DoctrineModule/Authentication/Storage/ObjectRepository.php
> >
> > Marco Pivetta
> >
> > http://twitter.com/Ocramius
> >
> > http://ocramius.github.com/
> >
> >
> > On 19 February 2013 10:11, roberto blanko <robertobla...@gmail.com>
> wrote:
> >
> >> Okay, that makes sense. But how else can I solve my problem? A way would
> >> be
> >> not to store the entire user object in the session but only the user id.
> >> But how can I realize that with an Auth adapater without having to fetch
> >> the actual user object by handy every time i need it?
> >>
> >>
> >> On Tue, Feb 19, 2013 at 10:05 AM, Marco Pivetta <ocram...@gmail.com>
> >> wrote:
> >>
> >> > You are trying to store objects that are un-serializable into a
> session
> >> > (like an event manager or similars). Don't do that.
> >> >
> >> > Marco Pivetta
> >> >
> >> > http://twitter.com/Ocramius
> >> >
> >> > http://ocramius.github.com/
> >> >
> >> >
> >> > On 19 February 2013 09:47, roberto blanko <robertobla...@gmail.com>
> >> wrote:
> >> >
> >> >> Hello fellow devs,
> >> >>
> >> >> I use a custom authentication adapter to authenticate. The
> >> authenticate()
> >> >> method returns a Zend\Authentication\Result object with my cutsom
> user
> >> >> object in it. As long as the user object was created with `new
> User()`
> >> >> this
> >> >> worked pretty fine. The user is stored in the session, which is being
> >> >> stored in the DB.
> >> >>
> >> >> Now I changed my User class to implement ServiceManagerAwareInterface
> >> in
> >> >> order to be able to access the service manager within my model. In
> >> order
> >> >> for this to work, I cannot instantiate my user object with `new
> User()`
> >> >> but
> >> >> instead with $this->sm->get('My\Model\User'). I created the
> associated
> >> >> invokable first.
> >> >>
> >> >> Since I changed that, the user cannot be stored by the SessionManager
> >> >> anymore. I get an exception:
> >> >>
> >> >> 'Exception' with message 'Serialization of 'Closure' is not allowed'
> in
> >> >>
> >> >>
> >>
> /vendor/zendframework/zendframework/library/Zend/Stdlib/ArrayObject.php:323
> >> >> Stack trace:
> >> >> #0
> >> >>
> >> >>
> >>
> /vendor/zendframework/zendframework/library/Zend/Stdlib/ArrayObject.php(0):
> >> >> serialize()
> >> >> #1 [internal function]: Zend\Stdlib\ArrayObject-&gt;serialize()
> >> >> #2 /vendor/zendframework/zendframew in
> >> >>
> >> >>
> >>
> <b>/vendor/zendframework/zendframework/library/Zend/Session/SessionManager.php</b>
> >> >> on line <b>166</b><br />
> >> >>
> >> >> I use ZF 2.1
> >> >>
> >> >> Do you have any idea why this is and how to fix it? Any help would be
> >> >> highly appreciated.
> >> >>
> >> >> Regards
> >> >> Rob
> >> >>
> >> >
> >> >
> >>
> >
> >
>

Reply via email to