Howard, how did you override the method using the EnhancementOperation.extendMethodImplementation() method? If so, how did you get around the *initial* call to the super implementation? You said it did the check before the call to super.
-----Original Message----- From: Howard Lewis Ship [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 07, 2006 2:06 PM To: Tapestry development Subject: Re: Permissions Mapping... What I did was create a @Privileged annotation. The annotation value was the name of the required role. You could attach this method to classes, or to methods. @Privileged is inherited, and @Privileged("") means no special privilege required. For classes, it implemented/extended PageValidateListener to check the permission. For methods, it overrided the method to add a check before invoking super(). I extended Tapestry class and method annotation workers to handle these annotations. Worked like a charm. This approach puts the logic right into the pages or methods, which is where I think it belongs. On 6/7/06, James Carman <[EMAIL PROTECTED]> wrote: > > All, > > You guys are the experts. I have a design question. I am creating a > tapestry/acegi integration package (parts of it are already done). What I > need to figure out is how to decide what roles an in-coming request > requires? If it's a PageService request, I can check the page class for a > @RequiredRole annotation. If it's a DirectService request, I can check > the > method for a @RequiredRole annotation. But, how do I do this in a general > way? Any ideas? > > James > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Independent J2EE / Open-Source Java Consultant Creator and PMC Chair, Apache Tapestry Creator, Jakarta HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
