summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/ui
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/com/vaadin/ui')
-rw-r--r--server/src/com/vaadin/ui/LoginForm.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/server/src/com/vaadin/ui/LoginForm.java b/server/src/com/vaadin/ui/LoginForm.java
index b1e4741450..9c131b9700 100644
--- a/server/src/com/vaadin/ui/LoginForm.java
+++ b/server/src/com/vaadin/ui/LoginForm.java
@@ -22,7 +22,8 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import com.vaadin.server.DynamicConnectorResource;
+import com.vaadin.server.ConnectorResource;
+import com.vaadin.server.ExternalResource;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinResponse;
import com.vaadin.server.VaadinService;
@@ -108,12 +109,22 @@ public class LoginForm extends CustomComponent {
public LoginForm() {
iframe.setType(Embedded.TYPE_BROWSER);
iframe.setSizeFull();
- iframe.setSource(new DynamicConnectorResource(this, "login"));
setSizeFull();
setCompositionRoot(iframe);
addStyleName("v-loginform");
}
+ @Override
+ public void beforeClientResponse(boolean initial) {
+ // Generate magic URL now when UI id and connectorId are known
+ iframe.setSource(new ExternalResource(
+ ApplicationConstants.APP_PROTOCOL_PREFIX
+ + ApplicationConstants.APP_REQUEST_PATH + '/'
+ + ConnectorResource.CONNECTOR_REQUEST_PATH
+ + getUI().getUIId() + '/' + getConnectorId() + "/login"));
+ super.beforeClientResponse(initial);
+ }
+
/**
* Returns byte array containing login page html. If you need to override
* the login html, use the default html as basis. Login page sets its target