gpt4 book ai didi

javascript - 限制用户访问环回中其他信息的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-28 06:35:36 25 4
gpt4 key购买 nike

如何限制用户访问其他信息?我有一个客户模型,默认情况下我可以按 Angular 色限制访问,但所有“用户” Angular 色都可以访问客户模型。我不希望其他人能够通过猜测其他 ID 号来访问其他客户。只有支持 Angular 色才能自由访问所有信息。我该怎么做?

最佳答案

ACL 非常适合您的需求!

创建从基本 LoopBack 用户模型扩展而来的自定义用户:

$ slc loopback:model
? Enter the model name: BookUser
? Select the data-source to attach BookUser to: db (memory)
? Select model's base class User
? Expose BookUser via the REST API? Yes
? Custom plural form (used to build REST URL):
? Common model or server only? common
Let's add some BookUser properties now.

Enter an empty property name when done.
? Property name: Name
(!) generator#invoke() is deprecated. Use generator#composeWith() - see http://yeoman.io/authoring/composability.html
invoke loopback:property
? Property type: string
? Required? No

拒绝对/Users 的所有请求,然后明确授予您想要的请求。

拒绝

$ slc loopback:acl
? Select the model to apply the ACL entry to: BookUser
? Select the ACL scope: All methods and properties
? Select the access type: All (match all types)
? Select the role All users
? Select the permission to apply Explicitly deny access

允许“所有者”(例如登录的用户)findById

$ slc loopback:acl
? Select the model to apply the ACL entry to: BookUser
? Select the ACL scope: A single method
? Enter the method name findById
? Select the role The user owning the object
? Select the permission to apply Explicitly grant access

现在打开 API Explorer,并向用户 POST 两次,创建两个用户。

然后以第一个用户(ID 1)身份登录,设置您的访问 key 。

尝试访问/Users/2(第二个用户)。

{
"error": {
"name": "Error",
"status": 401,
"message": "Authorization Required",
"statusCode": 401,
"code": "AUTHORIZATION_REQUIRED",
"stack": "Error: Authorization Required\n ..."
}
}

现在尝试访问/Users/1(当前登录的用户)。

{
"email": "someguy@somesite.com",
"id": 1
}

关于javascript - 限制用户访问环回中其他信息的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34315301/

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