Как я могу создать безопасную форму входа vaadin 14? - PullRequest
2 голосов
/ 23 октября 2019

Я хотел спросить, как создать безопасный вход в систему.

Пока у меня есть только один вид входа в систему, и я хотел спросить сейчас, как я могу изменить вид после успешного входа. Проверка входа через базу данных MySQL также выполняется без проблем. Я просто не хочу, чтобы кто-то просто добавил "dashboard" в URL и пропустил логин.

@Route("login")
@PageTitle("Login")
public class LoginView extends VerticalLayout {

    private final LoginService loginService;

    private LoginOverlay loginOverlay = new LoginOverlay();

    public LoginView(LoginService loginService) {
        this.loginService = loginService;

        this.loginOverlay.setOpened(true);
        this.loginOverlay.setForgotPasswordButtonVisible(false);
        this.loginOverlay.setDescription(null);
        this.loginOverlay.setEnabled(true);

        this.loginOverlay.addLoginListener(e -> {
            if (this.loginService.authenticateUser(e.getUsername(), e.getPassword())) {

                ?

            } else {
                this.loginOverlay.setError(true);
            }
        });

        this.add(loginOverlay);
    }

}

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Существует серия руководств по безопасности vaadin + spring.

https://vaadin.com/tutorials/securing-your-app-with-spring-security

0 голосов
/ 23 октября 2019

Одним из вариантов, если вы используете Spring, является использование Spring Security для вывода списка URL-адресов, доступных до входа в систему, и перенаправления на вход в систему, если не прошедший проверку подлинности пользователь пытается перейти в другое место. Вы можете найти один пример этого в SecurityConfiguration.java начального приложения с полным стеком .

Другой вариант - прослушать событие BeforeEnter и программно перенаправить пользователя на экран входа в систему, если он неВы можете найти один пример для этого в BookstoreInitListener.java. Исходный код находится в github , или вы можете скачать копию приложения, выбрав Java tech stack из simple appter

...