Spring security Vaadin 10(-仅爪哇岛-)&;Spring安全登录表单

Spring security Vaadin 10(-仅爪哇岛-)&;Spring安全登录表单,spring-security,vaadin10,vaadin-flow,Spring Security,Vaadin10,Vaadin Flow,我正在尝试使用V10和Spring秒。基于面包店演示 但这个演示有一个基于聚合物的登录按钮,它的html表单上有一个动作方法 我只是用Java实现了登录。但是登录按钮不会触发任何东西 FormLayout formLayout = new FormLayout(); TextField txtUsername = new TextField(); txtUsername.setPlaceholder("Kullanıcı Adı"); PasswordField pas

我正在尝试使用V10和Spring秒。基于面包店演示

但这个演示有一个基于聚合物的登录按钮,它的html表单上有一个动作方法

我只是用Java实现了登录。但是登录按钮不会触发任何东西

FormLayout formLayout = new FormLayout();
    TextField txtUsername = new TextField();
    txtUsername.setPlaceholder("Kullanıcı Adı");

    PasswordField passwordField = new PasswordField();
    passwordField.setPlaceholder("Parola");

    Button btnLogin = new Button("Giriş");

    btnLogin.addClickListener(buttonClickEvent -> {
        System.out.println(txtUsername.getValue() + " " + passwordField.getValue());
    });

    formLayout.add(txtUsername, passwordField, btnLogin);
    add(formLayout);

任何使用Spring sec的工作示例。和纯java。

仅凭您发布的代码片段很难判断出问题所在。在我看来这是有效的。由于Vaadin 13有专用的登录组件,如果您想要基于表单的登录,可以使用这些组件简化任务

@Tag(“sa登录视图”)
@路由(值=LoginView.Route)
@页面标题(“登录”)
公共类LoginView扩展了垂直布局{
公共静态最终字符串ROUTE=“login”;
private LoginOverlay login=new LoginOverlay();
公共登录视图(){
login.setAction(“登录”);
login.setOpened(true);
login.setTitle(“Spring-Secured-Vaadin”);
setDescription(“登录覆盖示例”);
getElement().appendChild(login.getElement());
}
}
login.setAction()
方法定义最终表单数据发送到的端点。您必须相应地配置Spring安全性

此代码段是我们的Spring安全教程的一部分:

也许值得你检查一下

干杯,
Paul

您的示例正确运行(从Vaadin 13开始),您确定查看了System.out.println输出的正确位置吗? 换成

Notification.show(txtUsername.getValue() + " " + passwordField.getValue());
在浏览器中直接查看