gpt4 book ai didi

rest - 休息应用程序中的用户上下文

转载 作者:行者123 更新时间:2023-12-01 12:32:34 24 4
gpt4 key购买 nike

我有一个 angularjs 应用程序,后面有 rest java 后端

我想将每个用户限制在他的上下文中,就像用户只能访问关系数据库中属于他的数据

(like, user can only have access to his calculations data, only to his files, etc).

做到这一点的最佳方法是什么?

我可以在每个数据库查询中检查用户是否有权访问该数据,但看起来有很多连接结构,也许有另一种解决该问题的好方法?

谢谢你的帮助

最佳答案

既然您提到后端是 REST 后端,您可以考虑让每个用户的资源都是唯一的。这可以通过 URL 上的用户数据分区来完成。这是一种常见的方法:

http://api.example.com/users/1234/files
http://api.example.com/users/1234/files/6748
http://api.example.com/users/1234/stuff/32
http://api.example.com/users/5347/files
http://api.example.com/users/5347/stuff/218

当每个资源都是唯一的时,这意味着您可以使用 HTTP 缓存 header 缓存它们。也许您可以在客户端应用程序和 REST API 之间设置一个 HTTP 反向代理,以便缓存由现成的软件处理。

这样做的好处是,即使数据库查询由于连接而变慢,您也不会经常访问数据库,因为大多数时候客户端将从反向代理中获得所需的答案(或它自己的缓存)。

这是否是一个好主意取决于读写之间的比率、数据的最新程度等。但是,在适当的情况下,这种架构可能非常有效。

关于rest - 休息应用程序中的用户上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32189810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com