Thanks for your response. I actually already did this. What I wanted to get away from was passing the request object around so much. I should be able to say new User() without having to worry about getting a reference to the request. I guess I should have included that in my initial email.
Thanks again ! --Michael -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Josh Canfield Sent: Friday, April 04, 2008 12:55 PM To: Tapestry users Subject: Re: accessing requestglobals inside dispatcher and other data support classes Take another look at Dispatcher 2. It takes an ApplicationStateManager as a parameter to the constructor. Add your RequestGlobals to the constructor in the same way. Tapestry will wire up the configured object. public SingletonAccessControllerImpl(ApplicationStateManager asm, RequestGlobals globals) { this.asm = asm; this.globals = globals; } Josh On Fri, Apr 4, 2008 at 12:09 PM, Nguyen, Michael <[EMAIL PROTECTED]> wrote: > The code I uploaded was there to illustrate. I stepped through with a > debugger to find that those instance variables are null once I am > inside any method. I figured that I was doing something wrong so I > didn't want to confuse matters and put references to the objects in the sample. > > Thanks for the clarification on UserPermissions. > However, shouldn't dispatchers have access to the RequestGlobals > service considering it is part of the request processing flow? If not, > how do I obtain the IP address of the user coming in? I intend on > validating the user during the execution of the AccessController > Dispatcher. My intention is to perform user authentication during this process. > > My goal is to provide an authentication mechanism that is transparent > to the pages. The entire application is not accessible unless you are > authenticated. Thus, I want to alleviate the responsibliity of that > away from the page classes. Once a user logs in, he/she should be > able to go anywhere in the application. The dispatcher should > determine if the user has a valid session and direct the user to the > appropriate pages if the user's session expires and somehow handle > returning the user to the current request after successfully logging in. > > The key thing for me is that the remote IP address will be used for IP > authentication. That information is not available through the Request > object. > > Does this make any sense? Am I approaching this the wrong way? > > Thanks, > Michael > > > > -----Original Message----- > From: Jonathan Barker [mailto:[EMAIL PROTECTED] > Sent: Friday, April 04, 2008 11:49 AM > To: 'Tapestry users' > Subject: RE: accessing requestglobals inside dispatcher and other data > support classes > > Michael, > > This is not a page class, so Tapestry will not process your injections. > > You also haven't used either of your injected properties, so why are > they there? > > > Jonathan > > > -----Original Message----- > > From: mnguyen21 [mailto:[EMAIL PROTECTED] > > Sent: Friday, April 04, 2008 2:29 PM > > To: users@tapestry.apache.org > > Subject: accessing requestglobals inside dispatcher and other data > > support classes > > > > > > Hi everybody, > > I'm basically starting to learn T5 all over again. I'm trying to > > implement an AccessController based on Chris Lewis' articles and > > have hit a roadblock. > > http://wiki.apache.org/tapestry/Tapestry5HowToCreateADispatcher > > Dispatcher1 > > http://wiki.apache.org/tapestry/Tapestry5HowToCreateADispatcher2 > > Dispatcher2 > > > > I can't seem to access the requestGlobals Service in either the > > dispatcher or any of the User classes. I've tried adding the > > following to each of the > > classes: > > > > @Inject > > @Service("RequestGlobals") > > private RequestGlobals requestGlobals; > > > > Inside the dispatcher I try to create a UserPermissions object. > > This object requires things from the session and request. I thought > > I would try to inject the requestGlobals into the UserPermissions class. > > > The reason I need the RequestGlobals service is that Request does > > not contain the remote IP address of the current request, only the > > HttpServletRequest object does. > > > > Each time this results in a null value for requestGlobals. > > According to the wiki, "RequestGlobals" is a readily available > > service I should just be able to inject into any other page. Am I > > interpreting this wrong? Is there something I need to do in the > > AppModule class in order to make the RequestGlobals service available to my classes? > > > > > > Thanks, > > Michael > > > > btw, I've uploaded a copy of my "UserPermissions" class ( its called > > UserSettings now) for reference. > > > > http://www.nabble.com/file/p16495148/UserSettings.java > > UserSettings.java > > -- > > View this message in context: http://www.nabble.com/accessing- > > requestglobals-inside-dispatcher-and-other-data-support-classes- > > tp16495148p16495148.html > > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > > > > -------------------------------------------------------------------- > > - To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- -- TheDailyTube.com. Sign up and get the best new videos on the internet delivered fresh to your inbox. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]