Login View Generieren

  1. Klicken Sie im Project Management > User Interface auf Create new GUI element.
  2. Legen Sie im folgenden Dialog bei Name einen Namen für die View fest. 
  3. Wählen Sie bie Template > Login View with Login Form aus.
  4. Klicken Sie auf Finish.
  5. Klicken Sie im folgenden Hinweis zum RapidClipse Framework auf OK.
  6. Wählen Sie im folgenden Dialog Ihren Authenticator Provider.
  7. 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.