Hi John,
It works because LoginPage persists the link in your session:
@Persist
private Link nextPageLink;
Have you really seen it fail? Try for yourself - try user 2 (login with admin,
admin):
http://jumpstart.doublenegative.com.au/jumpstart/theapp/security/userview/2
then log out, then try user 3:
http://jumpstart.doublenegative.com.au/jumpstart/theapp/security/userview/3
then log out, then try role 1:
http://jumpstart.doublenegative.com.au/jumpstart/theapp/security/roleview/1
Does it ever not work? If it needs fixing then I'd really like to know.
Geoff
On 29/04/2013, at 6:47 PM, John wrote:
> I don't think the following code works, it doesn't when I run my version of
> it.
>
> The loginPage has it's nextPageLink property set, but then the loginPageLink
> is returned by using the Login.class which presumably just redirects to a
> fresh login page without the nextPageLink set.
>
> So the nextPageLink is null in the Login page so the nextPageLink cannot be
> used.
>
> John
>
> http://jumpstart.doublenegative.com.au/jumpstart/examples/infrastructure/protectingpages
>
>
> // Get the Login page, give it a link to the requested page, and
> redirect to Login
>
> IIntermediatePage loginPage = (IIntermediatePage)
> componentSource.getPage(Login.class);
>
> Link requestedPageLink =
> makeLinkToRequestedPage(requestedPageName, eventContext);
> loginPage.setNextPageLink(requestedPageLink);
>
> Link loginPageLink =
> pageRenderLinkSource.createPageRenderLink(Login.class);
> response.sendRedirect(loginPageLink);
>
> return false;