如何从 spring 引导服务器登录和注销用户?

How to log in and out a user from a spring boot server?

我有一个桌面 java 应用程序、一个 MySQL 数据库和一个 spring 启动服务器。用户通过桌面应用登录,通过与服务器分离的数据库进行用户验证。

但在它验证用户后,我希望它能将用户登录到服务器,并能够在用户退出程序时注销用户。

我已将应用程序连接到服务器并能够发送 GET 和 POST 请求。我环顾了互联网和堆栈溢出,但是我看不到任何可以提供帮助的答案或资源。我看到的唯一一种解决方案是使用存储库来存储登录用户并在他们注销时将其删除。

我如何将用户登录到服务器并注销他们?

您可以使用基于令牌的登录机制,但由于您使用的是桌面应用程序,因此您需要检查令牌的安全性。步骤将涉及:

  1. 用户输入 u/p,桌面应用程序发送登录请求以获取 JWT 令牌。
  2. 通过 HTTP 中的拦截器发送此令牌 headers 这样您就可以在 SpringBoot 服务应用程序中验证用户。
  3. 当用户注销时,如果令牌未过期,请保留令牌,因此如果用户重新登录,请再次使用令牌(保留令牌会带来安全风险,因此请对此进行更多研究!).如果没有询问 u/p 并再次执行步骤 1->3