NestJs 授权/验证用户拥有资源

问题描述 投票:0回答:2

验证/授权用户有权访问资源的标准方法是什么?

例如:用户可以 PUT

comment/:id
来更新评论,我想检查用户是否被允许。

守卫并不理想,因为它们在任何验证之前运行,并且我需要访问评论 ID。

我还尝试了自定义参数管道,但我很难从中访问请求执行上下文以获取用户。

最后我也可以将逻辑放入控制器中。

这似乎是一个非常常见的用例,所以我想知道:这通常是如何解决的?

nestjs
2个回答
0
投票

Node CASL 是一个很好的库。

这里有一个关于如何在 NestJS 中实现它的很棒的教程:

https://www.youtube.com/watch?v=qMU9c-0UHwM

使用它,您应该能够实现您想要的行为以及更复杂的场景。


-1
投票

常见的做法是使用

OAuth 2
框架。每个有效用户都将具有关联的访问令牌,该令牌将在允许用户访问资源之前在服务器中进行验证。

对于NestJs Framework,您可以查看官方文档以了解如何实现这一点。 https://docs.nestjs.com/security/authorization

© www.soinside.com 2019 - 2024. All rights reserved.