What I want to do is to perform authentication function; but would like auth
logic to be separated from Page file. So the auth function can be reused
next time if other front end client needs it. 

Then I searched on the tapestry website and found that seemingly it is
achieved by using Dispatcher
(http://wiki.apache.org/tapestry/Tapestry5HowToCreateADispatcher). That's
why I use this mechanism trying to accomplish my task. 

What is the best practice if I want to achieve such goal?

Or is there any resource/ guideline telling about this? 

Thank you very much.


Thiago H. de Paula Figueiredo wrote:
> 
> Em Mon, 08 Jun 2009 19:42:14 -0300, Neo Anderson  
> <javadeveloper...@yahoo.co.uk> escreveu:
> 
>> I run the code and request.getAttribute(USER) returns null in dispatch()  
>> function. So I output the Request to see what happens; then notice that  
>> they (Request in Login.java Page and AccessController.java) are two  
>> difference objects.
> 
> That's not what I've asked. Anyway, Tapestry uses proxies a lot, so it is  
> very likely that the two objects are functionally the same.
> 
>> Now it looks like I can obtain the User data by marking the User object  
>> as SessionState in Login.java Page.
>>
>> public class Login{
>> ...
>>      @SessionState
>>      private User user;
>> ...
>>      Object onSubmitFromLogin(){
>>              user = new User(...);
>>      }
>> }
>>
>> Then retrieve User object from dispatch() in AccessController.java
>>
>>      public boolean dispatch(Request request, Response response) throws  
>> IOException{
>>              ...
>>              if(asm.exists(User.class)){
>>                      User u = asm.get(User.class);
>>                      ...
>>              }
>>      }
>>
>> However, this rise another question for me - is this a recommended way  
>> to obtain a temporary User object (because User object in Login Page is  
>> only constructed temporarily and passed to the backend side for  
>> verification)?
> 
> If you'll need that object in a different request, yes.
> Why are you using a dispatcher here? I can't see how a dispatcher would be  
> invoked in the same request after a page was rendered.
> 
>> Also, how if I have other User object which holds different information  
>> (e.g. User object obtained from database), but needs to exist at the  
>> same time as that temporarily constructed User object? Will the later  
>> override the one that is constructed temporarily (I read Tapestry  
>> website saying if I have the same type marked with SessionState  
>> annotation, they will use the same reference regardless of their  
>> variable name)?
> 
> Yes, it will override.
> 
> I suggest you to tell use what you're trying to accomplish instead of  
> asking details of how to do it.
> 
> -- 
> Thiago H. de Paula Figueiredo
> Independent Java consultant, developer, and instructor
> http://www.arsmachina.com.br/thiago
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
> 
> 
> 

-- 
View this message in context: 
http://n2.nabble.com/Obtain-the-data-inside-RequestGlobals-question-tp3032702p3048582.html
Sent from the Tapestry Users 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

Reply via email to