Login View Generieren
- Klicken Sie im Project Management > User Interface auf Create new GUI element.
- Legen Sie im folgenden Dialog bei Name einen Namen für die View fest.
- Wählen Sie bie Template > Login View with Login Form aus.
- Klicken Sie auf Finish.
- Klicken Sie im folgenden Hinweis zum RapidClipse Framework auf OK.
- Wählen Sie im folgenden Dialog Ihren Authenticator Provider.
- Klicken Sie auf Finish.
Ergebnis:
- GUI-Builder - Es wird eine Standard Login View im GUI-Builder generiert.
Javacode - Der gesamte Javacode dazu wird automatisch generiert.
package com.company.demoproject.ui; import com.company.demoproject.MyAuthenticationProvider; import com.rapidclipse.framework.security.authentication.CredentialsUsernamePassword; import com.rapidclipse.framework.server.security.authentication.Authentication; import com.vaadin.flow.component.ComponentEvent; import com.vaadin.flow.component.ComponentEventListener; import com.vaadin.flow.component.login.AbstractLogin.ForgotPasswordEvent; import com.vaadin.flow.component.login.AbstractLogin.LoginEvent; import com.vaadin.flow.component.login.LoginForm; import com.vaadin.flow.component.orderedlayout.FlexComponent; import com.vaadin.flow.component.orderedlayout.VerticalLayout; @com.rapidclipse.framework.server.security.authentication.LoginView public class LoginView extends VerticalLayout { public LoginView() { super(); initUI(); } /** * Event handler delegate method for the {@link LoginForm} {@link #loginForm}. * * @see ComponentEventListener#onComponentEvent(ComponentEvent) * @eventHandlerDelegate Do NOT delete, used by UI designer! */ private void loginForm_onLogin(final LoginEvent event) { final CredentialsUsernamePassword credentials = CredentialsUsernamePassword.New( event.getUsername(), event.getPassword()); MyAuthenticationProvider authenticatorProvider = MyAuthenticationProvider.getInstance(); if(!Authentication.tryLogin(credentials, authenticatorProvider)) { this.loginForm.setError(true); } } /** * Event handler delegate method for the {@link LoginForm} {@link #loginForm}. * * @see ComponentEventListener#onComponentEvent(ComponentEvent) * @eventHandlerDelegate Do NOT delete, used by UI designer! */ private void loginForm_onForgotPassword(final ForgotPasswordEvent event) { // TODO provide password recovery } /* WARNING: Do NOT edit!<br>The content of this method is always regenerated by the UI designer. */ // <generated-code name="initUI"> private void initUI() { this.loginForm = new LoginForm(); this.setJustifyContentMode(FlexComponent.JustifyContentMode.CENTER); this.setDefaultHorizontalComponentAlignment(FlexComponent.Alignment.CENTER); this.add(this.loginForm); this.setSizeFull(); this.loginForm.addLoginListener(this::loginForm_onLogin); this.loginForm.addForgotPasswordListener(this::loginForm_onForgotPassword); } // </generated-code> // <generated-code name="variables"> private LoginForm loginForm; // </generated-code> }
XDEV Software Corp. - One Embarcadero Center, San Francisco, CA 94111, US
Copyright © 2015. XDEV Software Corp. All rights reserved.