/* * Copyright 2009-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.jdal.vaadin.auth; import org.jdal.vaadin.annotation.UiMapping; import org.jdal.vaadin.ui.VaadinView; import com.vaadin.annotations.PreserveOnRefresh; import com.vaadin.server.VaadinRequest; import com.vaadin.server.VaadinService; import com.vaadin.ui.UI; /** * Default login UI for Spring Security * * @author Jose Luis Martin * @since 2.1 */ @UiMapping("/login") @PreserveOnRefresh public class LoginUI extends UI implements AuthenticationListener { private LoginView loginView; private String successUrl = "/"; @Override protected void init(VaadinRequest request) { this.loginView.addAuthenticationListener(this); this.setContent(loginView.getPanel()); } @Override public void handleAuthentication(AuthenticationEvent event) { getPage().setLocation(getApplicationUrl()); } /** * @return */ private String getApplicationUrl() { return VaadinService.getCurrentRequest().getContextPath() + successUrl; } /** * @return the view */ public VaadinView<Credentials> getLoginView() { return loginView; } /** * @param view the view to set */ public void setLoginView(LoginView loginView) { this.loginView = loginView; } /** * @return the successUrl */ public String getSuccessUrl() { return successUrl; } /** * @param successUrl the successUrl to set */ public void setSuccessUrl(String successUrl) { this.successUrl = successUrl; } }