Multipart Form and AjaxSubmitLink will result in invalid redirect after user
session expires
--------------------------------------------------------------------------------------------
Key: WICKET-4251
URL: https://issues.apache.org/jira/browse/WICKET-4251
Project: Wicket
Issue Type: Bug
Components: wicket
Affects Versions: 1.5.3
Environment: JDK_1.6_027/Windows/Linux/Explorer/Chrome/Firefox
Reporter: Tom Rixom
Hi,
I have hit an issue similar to this one:
https://issues.apache.org/jira/browse/WICKET-3141
I do not receive any errors from Wicket itself to help clarify, so I will try
to explain using an example.
The example below with which I could recreate the issue uses the default
SignInPanel (in my LoginPage.clas) and AuthenticatedWebSession to authenticate
the user and store the session:
protected Class<? extends WebPage> getSignInPageClass()
{
return LoginPage.class;
}
If the authentiation is succesfull then the user is redirect back to the test
page:
protected void onSignInSucceeded() {
setResponsePage(Test.class);
}
So far so good. However if I use a form with setMultiPart(true) in combination
with an AjaxSubmitLink as shown in the following piece of code:
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
import
org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.form.Form;
@AuthorizeInstantiation("USER")
public class Test extends WebPage {
public Test()
{
super();
final Form testForm =
new Form("testForm");
testForm.setMultiPart(true);
testForm.add(new AjaxSubmitLink("testButton", testForm) {
@Override
protected void onSubmit(AjaxRequestTarget target, Form
form) {
super.onSubmit();
};
@Override
protected void onError(AjaxRequestTarget target, Form
form) {
};
});
add(testForm);
}
}
And have selected the option "Remember credentials" in the SignInPanel,
clicking on the testButton AFTER the session has expired will result in:
http://localhost:8080/PaladinWicket/?3-1.IBehaviorListener.0-testForm-testButton&wicket-ajax=true&wicket-ajax-baseurl=.
which displays this in the browser:
This XML file does not appear to have any style information associated with it.
The document tree is shown below.
<ajax-response>
<redirect>
<![CDATA[ .?1 ]]>
</redirect>
</ajax-response>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira