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]