Finally I get a bit progress with this issue. Kalle thanks for providing such information.
I think other people may have alredy known this but I would like to record what I learned so far in case I forget it. I suppose it's because I am new to shiro and tapestry so it takes longer time than what I expect to get progress. Basically one can add more behaviour to TapestryFilter.java by implementing HttpServletRequestFilter; and configure AppModule to bind HttpServletRequestFilter with your own filter impl class. (http://www.nabble.com/T5%3A-ServletRequestFilter-and-dependency-injection-ts15347956.html) Then when it comes to the execution of myfilter.service() method, in which to add shiro related code WebUtils.bindInetAddressToThread(request); WebUtils.bind(request); WebUtils.bind(response); ThreadContext.bind(securityManager); ThreadContext.bind(securityManager.getSubject()); ... ... ThreadContext.unbindSubject(); ThreadContext.unbindSecurityManager(); WebUtils.unbindServletResponse(); WebUtils.unbindServletRequest(); WebUtils.unbindInetAddressFromThread(); Kalle Korhonen wrote: > > Already replied to you privately in a different thread, but as you > posted on the list as well, I'll re-post my reply here as well: > > --- > yes this is an integration library that is not part of core Shiro. For > years, I've been using and developing Trails framework > (http://trailsframework.org/ - though we lost the domain name, but > that's another, long story). We have unreleased Tapestry5 integration > going, and I've also implemented a few supporting independent modules, > tapestry-conversations and tapestry-security. Tapestry-conversations > is released, but tapestry-security is still not, which why I haven't > made noise about it yet. The documentation for the security module > will be something similar I have for Tapestry-conversations (at > http://docs.codehaus.org/display/TRAILS/Conversations+in+Trails). If > you don't mind living on the bleeding edge, the automatically built > snapshots are available via Codehaus snapshot repository at > http://ci.repository.codehaus.org/org/trailsframework/tapestry-security/. > The module is functional and I'm using it in two projects currently. > At this point, you may need to dive into the source code to understand > how things work (at > http://svn.codehaus.org/trails/trunk/tapestry-security/) but as a > teaser :) below is part of the tapestry-security configuration I'm > using in one of the projects. Have fun with it! > > Kalle > > public static void > contributeSecurityConfiguration(OrderedConfiguration<SecurityFilterChain> > configuration, > SecurityFilterChainFactory > securityFilterChainFactory, > AnonymousFilter anon, UserFilter user, FormAuthenticationFilter authc, > BasicHttpAuthenticationFilter authcBasic, > RolesAuthorizationFilter > roles, PermissionsAuthorizationFilter perms, > RealmSecurityManager securityManager) { > String signIn = > securityFilterChainFactory.getLogicalUrl(SignIn.class); > authc.setLoginUrl(signIn); > > authc.setSuccessUrl(securityFilterChainFactory.getLogicalUrl(Index.class)); > SecurityFilterConfiguration filterConfiguration = new > SecurityFilterConfiguration(); > // Add so authc recognizes the authentication try > configuration.add(signIn + ".signinform", > securityFilterChainFactory.createChain(signIn + "/**", > filterConfiguration.add(authc))); > > filterConfiguration = new SecurityFilterConfiguration(); > String pageName = > securityFilterChainFactory.getLogicalUrl(Participate.class); > configuration.add(pageName, > securityFilterChainFactory.createChain(pageName + "/**", > filterConfiguration.add(authc))); > > filterConfiguration = new SecurityFilterConfiguration(); > filterConfiguration.add(roles, "admin"); > configuration.add("admin", > securityFilterChainFactory.createChain("/admin/**", > filterConfiguration)); > --- > > On Sun, Aug 16, 2009 at 9:11 AM, Neo > Anderson<[email protected]> wrote: >> >> I came across to read this post. Where can I find the example that uses >> tapestry 5 and shiro? >> >> Thanks, >> >> >> >> Kalle Korhonen wrote: >>> >>> On Tue, Feb 17, 2009 at 9:37 PM, Les Hazlewood >>> <[email protected]>wrote: >>> >>>> Basically I'm polling your interest of accommodating internal change >>>>> requests. If you are already gearing up towards stable 1.0 release you >>>>> might >>>>> not be interested or not have time for it, but if you welcome >>>>> improvement >>>>> suggestions on internals of the framework, I'd be happy to work with >>>>> you. >>>> >>>> >>>> We would absolutely appreciate your feedback and contributions - I >>>> think >>>> we're very much open to suggestions prior to 1.0, since it makes sense >>>> (at >>>> least to me) to get these kinds of additions in place before a 1.0 >>>> stable >>>> release. >>>> >>> >>> Excellent, it sounds like I'm stepping in at the right time. >>> >>> >>>> The best way is to discuss your ideas and approaches on the dev list >>>> which >>>> will then probably lead to Jira issues and patches. With enough due >>>> diligence and open discussion, there is a very good possibility to >>>> become >>>> a >>>> committer - we're definitely open to others joining the project as >>>> committers assuming said due diligence. Just be aware that the ASF >>>> requires >>>> signing contributor agreements before that can happen ( >>>> http://www.apache.org/licenses/#clas). >>>> So, we definitely look forward to discussion and your ideas. Let loose >>>> :) >>>> >>> >>> Thanks for the encouraging reply Les. Yes, I'm subscribed to the dev >>> list, >>> but I didn't want to post there out of the blue all-knowingly, proposing >>> changes to code that for the intended purpose does work. It's just that >>> framework programming *is* difficult because it's impossible to know all >>> the >>> use cases before people take your code and start using it in a way you >>> never >>> even thought of... we've all been there - on both sides of the fence I'm >>> sure. I don't have a problem being a user for the time being - there's >>> the >>> burden of a committer, suddenly you are actually responsible for >>> maintaining >>> the code and there's only a limited amount of time everybody has. >>> However, >>> becoming a committer in this case would open up interesting >>> possibilities >>> for me and the good thing is that I'm in a position where I'm allowed to >>> allocate some of my time for security related issues. I'm very much >>> aware >>> of >>> the apache committer process and meritocracy (which makes an interesting >>> comparison to Codehaus' dictatorship approach), but never been an Apache >>> committer. Anyway, we don't have to worry about it for now, let me just >>> annoy you with a flurry of emails to the dev list first ;) >>> >>> Kalle >>> >>> >> >> -- >> View this message in context: >> http://n2.nabble.com/jsecurity-integration-with-Tapestry5-tp2342638p3453949.html >> Sent from the Shiro User mailing list archive at Nabble.com. >> > > -- View this message in context: http://n2.nabble.com/jsecurity-integration-with-Tapestry5-tp2342638p3579959.html Sent from the Shiro User mailing list archive at Nabble.com.
