如何从vaadin的前端登录到后端

How to login to backend from frontend in vaadin

我的问题是如何登录受 spring security WebSecurityConfigurerAdapter 保护的后端? 如何发送登录到默认页面 spring 安全性的请求? 登录页面在 localhost:8080/login(默认 spring 登录页面),我的前台在 localhost:8081。我怎样才能在这个页面上写登录方法?

因为您在不同的端口上有两个独立的 servlet 运行 它们无法相互通信,除非您明确地实现它。执行自动登录的一种方法是通过 URLs GET 参数传递一些令牌。

例如,如果您想从 localhost:8080 登录到 localhost:8081,您首先必须检查在 localhost:8080 上输入的凭据是否正确。如果是这样,您可以将 HTTP 重定向到 localhost:8081?token=123456,其中 token 的值在后端生成,任何存储在某个地方(例如在数据库中)。如果用户现在正在访问此 localhost:8081 页面并通过 URL 中的 GET 参数传递令牌,您可以验证此令牌。如果正确,您可以自动登录用户。

但是您还必须确保令牌处理是安全的。使用具有有限的、小的生命周期的长的、神秘的令牌。执行登录后也删除使用的令牌。永远不要多次使用同一个令牌!

这可能是您可以做到这一点的一种方式。