Implemented a SimplePageAuthorizationStrategy; works but there is a gotcha:

Say the home page has a (non-ajax) login form:
1. unauthenticated users navigates to home page and is authorized
2. user submits valid login info.
3. At this point I'd assumed Home page would be re-requested (does wicket do
Redirect-after-form-submit?)
4. However, Home page is redisplayed and isAuthorized method is never
executed after form submit.

Workaround seems to be doing setResponsePage in onSubmit method. This,
however, seems to complicate creating a reusable LoginPanel which would
return user to same page.

-nikita


public class HomePageAuthorizationStrategy extends
SimplePageAuthorizationStrategy{
    
    public HomePageAuthorizationStrategy(){
        super(HomePage.class, ProfilePage.class);        
    }
    
    /**
     * if user's signed-in redirect request for Home Page to user's
dashboard/profile
     */
    protected boolean isAuthorized() {
        this.getLogger().info("checking auth for home page access...");
        return ! ((MySession)Session.get()).isLoggedIn();
    }
    
    public Logger getLogger() {
        return Logger.getLogger(this.getClass().getName());
    }    
}


Eelco Hillenius wrote:
> 
>> If an already logged-in user types in our home URL we'd like the site to
>> redirect him/her to own profile page. If user's not logged in, they do
>> land
>> on home page. This is not to compel someone to sign in.
>>
>> So, for example below, PageA = site home page; PageB = user's own profile
>> page
> 
> Sounds like a custom authorization strategy would work great here.
> 
> Eelco
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/redirect-request-for-Page-A-to-page-B-without-contructing-A--tf4636621.html#a13262795
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to