On Fri, Mar 18, 2011 at 8:39 PM, Jim Pinkham <pinkh...@gmail.com> wrote:
> .. and I also attached a fairly ugly patched version of > > RestartResponseAtInterceptPageException > > that seem to work for me, but use at your own risk. > > Did you see Igor's response ? > Hope this helps, > -- Jim. > > > On Thu, Mar 17, 2011 at 11:12 AM, Jim Pinkham <pinkh...@gmail.com> wrote: > >> OK, I just attached a quickstart (my first) - hope it helps with >> resolution (soon). >> >> >> On Wed, Mar 16, 2011 at 5:03 PM, Martin Grigorov <mgrigo...@apache.org>wrote: >> >>> Thanks Jim, >>> >>> But without a quickstart it is hard to debug it. >>> There is a ticket which sounds to be related to what you described: >>> https://issues.apache.org/jira/browse/WICKET-3493 >>> >>> On Wed, Mar 16, 2011 at 9:54 PM, Jim Pinkham <pinkh...@gmail.com> wrote: >>> >>> > FYI - rc2 still has this problem. It works OK on a >>> BookmarkablePageLink >>> > to >>> > a page that implement IAuthorizationStrategy, but not on the new >>> > Link<MyLoginPage> on a panel on my home page. After login is complete, >>> the >>> > link is hidden and replaced with a logout link, so the user gets an >>> > AccessDenied page after login as they try to 'restart the response' to >>> the >>> > (wrong) onClick handler url for the now-invisible login link. >>> > >>> > Not sure when I'll get to making quickstart, but I thought I'd give at >>> > least >>> > this brief info for now. >>> > Thanks, >>> > -- Jim. >>> > >>> > On Wed, Mar 16, 2011 at 5:01 AM, Martin Grigorov <mgrigo...@apache.org >>> > >wrote: >>> > >>> > > Try with RC2 and if it still fails please create a ticket with a >>> > quickstart >>> > > >>> > > On Tue, Mar 15, 2011 at 11:27 PM, Jim Pinkham <pinkh...@gmail.com> >>> > wrote: >>> > > >>> > > > I think I've got the same situation happening. >>> > > > >>> > > > It's a login link on my home page, whose onClick >>> > > > uses the usual: >>> > > > throw new RestartResponseAtInterceptPageException( >>> > > > AuctionApplication.get().getSignInPageClass()); >>> > > > >>> > > > I've stepped thru this a bit, and I find a problematic point in: >>> > > > RestartResponseAtInterceptPageException.InterceptData.set() where >>> it >>> > > > captures what I think is supposed to be the home page url, which it >>> is >>> > > > saving as follows: >>> > > > ... >>> > > > data.originalUrl = request.getOriginalUrl(); >>> > > > >>> > > > However, in my debugger, this is instead the Url of the link: >>> > > > >>> > > > >>> > > >>> > >>> http://localhost:8080/myapp/wicket/page?0-1.ILinkListener-userPanel-signIn >>> > > > >>> > > > If I manually change it in the debugger to just my home page Url, >>> it >>> > > seems >>> > > > to work fine. >>> > > > >>> > > > This was working last for me in 1.5-M3, and now in 1.5-RC1 it >>> appears >>> > to >>> > > > have broken. >>> > > > >>> > > > Hope this helps narrow the search... >>> > > > >>> > > > Thanks, >>> > > > -- Jim. >>> > > > >>> > > > On Thu, Mar 10, 2011 at 1:50 PM, Jeremy Thomerson < >>> > > > jer...@wickettraining.com >>> > > > > wrote: >>> > > > >>> > > > > On Thu, Mar 10, 2011 at 12:36 PM, Jim Goodwin < >>> sophin...@comcast.net >>> > > >>> > > > > wrote: >>> > > > > >>> > > > > > I'm a Wicket newbie, working my way through /Wicket in Action. >>> > > > > > >>> > > > > > /I don't understand redirection too clearly yet, but there is >>> > > > > > an example in the book which doesn't work right when I >>> > > > > > try it and I'd like to ask if the book example code makes >>> > > > > > sense to more experienced folks. >>> > > > > > >>> > > > > > Page 271 Listing 11.3 line 4: The onSubmit() method calls >>> > > > > > !continueToOriginalDestination(). >>> > > > > > >>> > > > > >>> > > > > continueToOriginalDestination() lets the user continue on to the >>> > place >>> > > > they >>> > > > > were going before being interrupted by the security mechanism if >>> they >>> > > > > aren't >>> > > > > logged in. i.e: >>> > > > > >>> > > > > user on home page >>> > > > > user clicks "restricted page" link >>> > > > > security strategy says "can't go there without being logged in as >>> X", >>> > > > > redirects user to login page >>> > > > > user logs in, and continueToOriginalDestination() redirects to >>> > > > "restricted >>> > > > > page" (original dest) and returns true. >>> > > > > >>> > > > > another example: >>> > > > > user clicks bookmarked link in a new tab in their browser to >>> login >>> > page >>> > > > (or >>> > > > > goes to unrestricted home page and clicks link for login page) >>> > > > > user logs in, and continueToOriginalDestination() can't redirect >>> them >>> > > > > anywhere, because there is no "original destination" that was >>> > > interrupted >>> > > > > >>> > > > > Page 272 Listing 11.4 , new Link(...){ ... method onClick(): >>> > > > > > throws new RestartResponseAtInterceptPageException(signInPage) >>> > > > > > >>> > > > > >>> > > > > This is a way to stop processing at ANY point in your application >>> and >>> > > > > redirect the user to a certain page. >>> > > > > >>> > > > > >>> > > > > > How is this supposed to work? >>> > > > > > >>> > > > > > Suppose the user is on the Home page, and the Home Page >>> > > > > > has a UserPanel, and the user clicks on the "Sign In" link. >>> > > > > > Then the link itself sets an intercept to the sign-in page >>> > > > > > (that is how the link arranges to take you there, as far as I >>> can >>> > > > > > understand). >>> > > > > > >>> > > > > > But then, when the user enters name/password and submits, and >>> > > > > > the submit method calls continueToOriginalDestination(), it >>> will >>> > > > > > always succceed, and find the "original destination" to be the >>> > signIn >>> > > > > > page, regardless of where it really originated (the Home Page, >>> in >>> > > > > > this case). >>> > > > > > >>> > > > > >>> > > > > You're a bit confused by "original" and "destination". Since the >>> > user >>> > > > > clicked the "signin page" link, the *destination* was the signin >>> page >>> > - >>> > > > > which is unrestricted, so the continueToOriginalDestination() >>> method >>> > > can >>> > > > > not >>> > > > > redirect them anywhere, and thus returns false. You now need to >>> > > redirect >>> > > > > them somewhere manually or the signin page will re-render. >>> > > > > >>> > > > > The *origin* was the home page - but that doesn't matter. Don't >>> be >>> > > > thrown >>> > > > > off by "original" (destination) and "origin" - which are two >>> > different >>> > > > > things. :) >>> > > > > >>> > > > > For a while my code was working like that: Signing in worked, >>> > > > > > i.e. it did sign you in, but you were returned to a blank >>> sign-in >>> > > page. >>> > > > > > (My code doesn't work like that just this minute, but that is >>> only >>> > > > > > because I've been enhancing it with other bugs.) >>> > > > > > >>> > > > > > Can anyone explain how the book-example is supposed to work? >>> > > > > > >>> > > > > > Thanks >>> > > > > > Jim >>> > > > > > >>> > > > > >>> > > > > >>> > > > > -- >>> > > > > Jeremy Thomerson >>> > > > > http://wickettraining.com >>> > > > > *Need a CMS for Wicket? Use Brix! http://brixcms.org* >>> > > > > >>> > > > >>> > > >>> > > >>> > > >>> > > -- >>> > > Martin Grigorov >>> > > jWeekend >>> > > Training, Consulting, Development >>> > > http://jWeekend.com <http://jweekend.com/> >>> > > >>> > >>> >>> >>> >>> -- >>> Martin Grigorov >>> jWeekend >>> Training, Consulting, Development >>> http://jWeekend.com <http://jweekend.com/> >>> >> >> > -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com <http://jweekend.com/>