Spring JWT的利弊

Spring JWT的利弊,spring,database,rest,web,jwt,Spring,Database,Rest,Web,Jwt,在过去的几天里,我读到了关于JWT的文章,我完全理解了它背后的概念和授权的力量。我的问题是,当CRUD端点就位时,JWT授权机制会发生什么?假设我必须从发送我请求的特定用户中删除某个“任务”,其中包含JWT令牌。我要做的事情是转到数据库,检查用户是否属于该任务,然后从数据库中删除该任务。这将导致2个数据库调用。我现在的问题是,当涉及到包含CRUD操作的端点时,JWT真的那么强大吗?这些操作需要验证特定用户是否可以执行特定操作?此外,即使我们不必这样做,我们仍然有1个数据库调用,这是CRUD操作。

在过去的几天里,我读到了关于JWT的文章,我完全理解了它背后的概念和授权的力量。我的问题是,当CRUD端点就位时,JWT授权机制会发生什么?假设我必须从发送我请求的特定用户中删除某个“任务”,其中包含JWT令牌。我要做的事情是转到数据库,检查用户是否属于该任务,然后从数据库中删除该任务。这将导致2个数据库调用。我现在的问题是,当涉及到包含CRUD操作的端点时,JWT真的那么强大吗?这些操作需要验证特定用户是否可以执行特定操作?此外,即使我们不必这样做,我们仍然有1个数据库调用,这是CRUD操作。有人能帮我澄清一下吗?

最常见的模式是让后端在用户进行身份验证时向前端发送JWT令牌。然后,此令牌将包含在后续请求中,服务器可以使用它验证请求是否确实来自登录用户。验证后,服务器可以安全地进行数据库调用以执行更改或数据库操作

你可以考虑使用一个像Zetabase()这样的解决方案。这为您自动提供了JWT令牌和所有身份验证机制,以及一个约束系统,该系统允许您在不使用后端的情况下执行此处所述的任务,您可以直接从前端执行


换言之,使用Zetabase甚至Firebase,您可以完全跳过中间层。数据库本身管理用户名、密码和身份验证,然后直接从前端调用数据库。这仅适用于这两个数据库,因为这两个数据库允许“约束”,确保仅允许适当的用户执行某些操作。

最常见的模式是让后端在用户进行身份验证时向前端发送JWT令牌。然后,此令牌将包含在后续请求中,服务器可以使用它验证请求是否确实来自登录用户。验证后,服务器可以安全地进行数据库调用以执行更改或数据库操作

你可以考虑使用一个像Zetabase()这样的解决方案。这为您自动提供了JWT令牌和所有身份验证机制,以及一个约束系统,该系统允许您在不使用后端的情况下执行此处所述的任务,您可以直接从前端执行

换言之,使用Zetabase甚至Firebase,您可以完全跳过中间层。数据库本身管理用户名、密码和身份验证,然后直接从前端调用数据库。这只会起作用,因为这两个数据库允许“约束”,确保只有适当的用户才能执行某些操作