场景:我的应用运行查询,在许多情况下,使用用户ID来过滤用户可以看到的数据。用户标识是整数。我不希望用户能够简单地更改查询字符串并将用户ID parm更改为另一个#(并基本上假定另一个用户的身份)。通过我们的身份验证过程,对服务器的每个请求都在标头中包含安全令牌,安全令牌在客户端登录时返回给客户端。在身份验证过程中,此令牌存储在服务器上并映射到用户的用户ID。
我想做的是将令牌从标头中拉出,进行查找并获取映射到令牌值的用户ID(可正常工作),然后更改查询字符串以添加用户ID。
因此,一个请求可能会以
http://localhost/api/app/customerlist
在获得用户ID之后,它可能看起来像这样
http://localhost/api/app/customerlist?$filter=userid%20eq%1234
然后继续。
这是一个简单的场景,但说明了我的目标。我无法向数据库添加代理键,而无法使用GUID或其他值作为我的过滤器列。该结构几乎卡住了。
谢谢
看一下EntityQuery.withParameters方法。从客户端使用它,您可以进行任何查询,并向其中添加用户ID过滤器。就像是
myQuery = myQuery.withParameters( { userId: 1234});
myEntityManager.executeQuery(myQuery).then(...);
还是我错过了一些东西。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句