如何仅使用Java在vaadin中创建spring安全登录页?
我目前正在用spring和vaadin构建一个web应用程序。我搜索了几天,想找到一个解决方案,用vaadin为spring security创建一个自定义登录页面。我有布局,但不知道如何将用户名和密码发送到spring。。。。 有谁能帮我或给我举个好例子吗如何仅使用Java在vaadin中创建spring安全登录页?,java,spring,security,login,vaadin,Java,Spring,Security,Login,Vaadin,我目前正在用spring和vaadin构建一个web应用程序。我搜索了几天,想找到一个解决方案,用vaadin为spring security创建一个自定义登录页面。我有布局,但不知道如何将用户名和密码发送到spring。。。。 有谁能帮我或给我举个好例子吗 顺便说一句,我使用的是vaadin 10。如果您已将Spring配置为使用formLogin(),则只需以正常形式提交数据即可 <form method="POST" action="login"> <input
顺便说一句,我使用的是vaadin 10。如果您已将Spring配置为使用
formLogin()
,则只需以正常形式提交数据即可
<form method="POST" action="login">
<input name="username" />
<input name="password" />
<input type="submit" value="Log in" />
</form>
并在单击Vaadin按钮时手动提交表单
_submit() {
this.$.ironForm.submit();
}
我使用Vaadin为登录页面创建了一个路由,并创建了一个自定义AuthenticationService,将身份验证对象放入SecurityContextHolder中。Vaadin 13引入了您可以使用的专用登录组件。他们将表单数据发送到Spring Security正在侦听的已配置端点:
@Tag(“sa登录视图”)
@路由(值=LoginView.Route)
@页面标题(“登录”)
公共类LoginView扩展了垂直布局{
公共静态最终字符串ROUTE=“login”;
private LoginOverlay login=new LoginOverlay();/(1)
公共登录视图(){
login.setAction(“login”);/(2)
login.setOpened(true);/(3)
login.setTitle(“Spring-Secured-Vaadin”);
setDescription(“登录覆盖示例”);
getElement().appendChild(login.getElement());/(4)
}
}
这段代码是关于Vaadin和Spring安全性的教程的一部分。检查。目前正在进行一个关于无页面重新加载解决方案的部分。这应该可以通过
AuthenticationProvider\authenticate
调用实现。我不确定,但是SpringBoot应该已经自动配置了一个。对于普通的spring应用程序,我认为您需要手动配置它。
_submit() {
this.$.ironForm.submit();
}