在梦工厂中创造用户

Creating users in dream factory

我正在使用 dreamfactory 并尝试创建具有不同角色的用户并使用这些角色发送请求,但这些用户不适合我。但是,管理员用户是。我不明白这是为什么。

以下是我采取的步骤;

在管理控制台中,单击“角色”选项卡,然后单击左侧栏中的“创建”。

输入角色的名称并选中活动框。

转到“访问”选项卡。

在服务访问权限下添加一个新条目(您可以稍后对其进行更严格的限制)。

设置服务=全部

设置组件 = *

检查 Access

下的所有 HTTP 动词

设置请求者 = API

点击创建角色。

单击“服务”选项卡,然后编辑用户服务。转到配置并启用 允许开放注册。 将 Open Reg Role Id 设置为您刚刚创建的角色的名称。 确保 Open Reg Email Service Id 为空,以便新用户无需电子邮件确认即可注册。

保存更改。

然后我注册了用户隐身模式

我使用了一个名为 Postman 的 google 扩展休息客户端来发出请求 在邮递员中,我使用了 Basic Auth 输入用户名和密码并发送了请求

{ "error":{ "context":空, "message": "Access Forbidden.", "code": 403 }

...

以上是我使用刚注册的用户得到的结果。但是,当我使用管理员用户名和密码时,会收到以下响应。

状态 200 正常

{"resource": [{"name": "_schema"},{"name": "_table"},{"name": "_proc"},{ "name":"_func"}]}

这是我希望其他用户得到的结果。

请让我知道我做错了什么,以便我可以修复它。再次感谢您的帮助

我已经对我的系统进行了相同的配置,并将逐步完成这些步骤。这是在 DreamFactory 2.0 beta 06 Oct 2015 commit 上完成的。

首先,注册用户:

POST /api/v2/user/register
X-DreamFactory-Api-Key: 0d430cc287b5dd88b0f615d2bb69d84ba7201e8d4214fee2eabcc96bcd937d7d

{
  "email": "user@domain.com",
  "first_name": "Basic",
  "last_name": "User",
  "display_name": "Basic User",
  "new_password": "password"
}

响应:{"success":true}

接下来,以该用户身份登录:

POST /api/v2/user/session
X-DreamFactory-Api-Key: 0d430cc287b5dd88b0f615d2bb69d84ba7201e8d4214fee2eabcc96bcd937d7d

{
  "email": "user@domain.com",
  "password": "password"
}

回复:

{
  "session_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMsInVzZXJfaWQiOjMsImZvcmV2ZXIiOmZhbHNlLCJpc3MiOiJodHRwczpcL1wvZGVtby5lbnRlcnByaXNlLmRyZWFtZmFjdG9yeS5jb21cL2FwaVwvdjJcL3VzZXJcL3Nlc3Npb24iLCJpYXQiOiIxNDQ0Njc1NDU0IiwiZXhwIjoiMTQ0NDY3OTA1NCIsIm5iZiI6IjE0NDQ2NzU0NTQiLCJqdGkiOiIyMjFiYTg5M2E2YTc4OThlNDdlZGI4MGY5YjVkY2M2ZCJ9.V8y2B_2vlh8QdFhRqyuSG8SbfIVe8g71RvNjKoW2Bi8",
  "session_id":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMsInVzZXJfaWQiOjMsImZvcmV2ZXIiOmZhbHNlLCJpc3MiOiJodHRwczpcL1wvZGVtby5lbnRlcnByaXNlLmRyZWFtZmFjdG9yeS5jb21cL2FwaVwvdjJcL3VzZXJcL3Nlc3Npb24iLCJpYXQiOiIxNDQ0Njc1NDU0IiwiZXhwIjoiMTQ0NDY3OTA1NCIsIm5iZiI6IjE0NDQ2NzU0NTQiLCJqdGkiOiIyMjFiYTg5M2E2YTc4OThlNDdlZGI4MGY5YjVkY2M2ZCJ9.V8y2B_2vlh8QdFhRqyuSG8SbfIVe8g71RvNjKoW2Bi8",
  "id":3,
  "name":"Basic User",
  "first_name":"Basic",
  "last_name":"User",
  "email":"user@domain.com",
  "is_sys_admin":false,
  "last_login_date":"2015-10-12 18:44:14",
  "host":"console",
  "role":"basic",
  "role_id":1
}

既然你试过使用基本身份验证,我也试过:

GET /api/v2/db
X-DreamFactory-Api-Key: 0d430cc287b5dd88b0f615d2bb69d84ba7201e8d4214fee2eabcc96bcd937d7d
Authorization: Basic dXNlckBkb21haW4uY29tOnBhc3N3b3Jk

回复:

{
  "resource": 
    [
      {"name":"_schema"},
      {"name":"_table"},
      {"name":"_proc"},
      {"name":"_func"}
    ]
}

DreamFactory 2.0 文档:http://wiki.dreamfactory.com/DreamFactory/API

每个可能的 API 调用的深入文档可以在 DreamFactory 实例的 API 文档选项卡中找到。 API 使用 Swagger UI.

自动生成文档并自行记录