Martin, it sounds like you might need to crack open the Tapestry source, but it seems doable. Although I don't know the details, I know for sure that the @Persist annotation allows for different persistence strategies (e.g. @Persist("flash")), which can be plugged by different modules (e.g. JPA and Hibernate provide an "entity" strategy). So, it seems like if you look at how Tapestry JPA contributes the "entity" strategy, you might be able to replace or add your own (e.g. 'shiroSession'). There probably is a way to override the existing 'session' strategy w/ the one backed by Shiro's Session (e.g. anywhere where you can "contribute" as the code below does, you can also override).
Another example is Tynamo's tapestry-jdo module, e.g. : http://tynamo.org/constant/sites/tapestry-jdo/tapestry-jdo/xref/org/tynamo/jdo/JDOModule.html<http://tynamo.org/constant/sites/tapestry-jdo/tapestry-jdo/xref/index.html> http://tynamo.org/constant/sites/tapestry-jdo/tapestry-jdo/xref/org/tynamo/jdo/internal/EntityPersistentFieldStrategy.html Sorry I don't have more specific answers. I hope this helps. Cheers, Alex K On Wed, Aug 8, 2012 at 10:04 AM, kata <januszkiewicz.mar...@gmail.com>wrote: > Alex, > > I'm sorry, I wasn't clear - I'm using native shiro sessions, so I switch > the > session manager to shiro's DefaultWebSessionManager. I do it this way to > later cache and cluster session data with EhCache. > What I need is a way to substitute the HttpSession tapestry is using with > shiros' Session implementation. If I can do that, then I hope I can use the > servlet API in the application instead of the shiro-specific calls. Ideally > annotations would also work as intended, with clustering and all. > > Regards, > Martin > > > Alex Kotchnev-2 wrote > > > > Martin, > > you really should be able to continue using @Persist and @SessionState. > > Both Shiro's subject.getSession() and the @Persist annotation store their > > values in the same http session. Is that not working for you ? > > > > Cheers, > > > > Alex K > > > > On Wed, Aug 8, 2012 at 7:20 AM, kata <januszkiewicz.marcin@> > wrote: > > > >> Hi all, > >> > >> I am currently using shiro and the tapestry-security plugin to manage > >> sessions and persist data. Everything works fine when getting the > session > >> by > >> SecurityUtils.getSubject().getSession(). However, this means that the > >> application is peppered with fragments of shiro-specific code. Since > >> shiro > >> uses the servlet session API, is there a way to do this in a way that is > >> transparent to the application, and hopefully still allow me to use > >> annotations like @Persist and @SessionState? > >> > >> Thanks, > >> Martin > >> > >> > >> > >> -- > >> View this message in context: > >> > http://tapestry.1045711.n5.nabble.com/Changing-default-session-behavior-tp5715141.html > >> Sent from the Tapestry - User mailing list archive at Nabble.com. > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscribe@.apache > >> For additional commands, e-mail: users-help@.apache > >> > >> > > > > > > > -- > View this message in context: > http://tapestry.1045711.n5.nabble.com/Changing-default-session-behavior-tp5715141p5715150.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >