sciactive / tilmeld-server
Nymph用户和组管理,带有访问控制。
Requires
- lcobucci/jwt: ^3.2
- respect/validation: ^1.1
- sciactive/hookphp: ^2.0
- sciactive/nymph-server: ^3.3
- sciactive/umailphp: ^2.4
Requires (Dev)
- dev-master
- 1.2.0
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- 1.0.0-beta.33
- 1.0.0-beta.32
- 1.0.0-beta.31
- 1.0.0-beta.30
- 1.0.0-beta.29
- 1.0.0-beta.28
- 1.0.0-beta.27
- 1.0.0-beta.26
- 1.0.0-beta.25
- 1.0.0-beta.24
- 1.0.0-beta.23
- 1.0.0-beta.22
- 1.0.0-beta.21
- 1.0.0-beta.20
- 1.0.0-beta.19
- 1.0.0-beta.18
- 1.0.0-beta.17
- 1.0.0-beta.16
- 1.0.0-beta.15
- 1.0.0-beta.14
- 1.0.0-beta.13
- 1.0.0-beta.12
- 1.0.0-beta.11
- 1.0.0-beta.10
- 1.0.0-beta.9
- 1.0.0-beta.8
- 1.0.0-beta.7
- 1.0.0-beta.6
- 1.0.0-beta.5
- 1.0.0-beta.4
- 1.0.0-beta.3
- 1.0.0-beta.2
- 1.0.0-beta.1
- 1.0.0-alpha.2
This package is auto-updated.
Last update: 2023-01-11 18:53:44 UTC
README
Nymph用户和组管理,带有访问控制。
弃用通知
Nymph/Tilmeld的PHP实现已弃用。它将不再添加任何新功能。取而代之的是,将使用Node.js运行的新版Nymph,完全用TypeScript编写,以替代PHP实现。您可以在Nymph.js仓库找到它。
安装
自动设置
使用Nymph App Template是开始构建Nymph应用最快的方式。
手动安装
composer require sciactive/tilmeld-server
工作原理
Tilmeld使用Nymph实体存储用户和组。它允许用户使用Nymph REST端点注册和登录。
Tilmeld方法在Tilmeld\Tilmeld
类中可用。(它们都是静态方法。)
用户
用户帐户可以在设置应用中创建,或者通过PHP中的register
函数或JS中的$register
函数注册。在tilmeld-components
包中有一个TilmeldLogin组件,可以为您构建登录/注册表单。在Tilmeld中注册的第一个用户帐户将获得带有system/admin
能力的管理员权限。
用户作为Tilmeld\Entities\User
类可用。
组
组作为Tilmeld\Entities\Group
类可用。
主组
用户只能有一个主组。它成为他们创建的任何实体的组。默认情况下,Tilmeld将为每个用户创建一个新的主组。
次组
次组用于授予用户额外权限或给予访问实体。
访问控制
Tilmeld会过滤所有对Nymph的调用,以允许用户仅查看和修改他们有权访问的实体。当用户创建实体时,他们的用户成为该实体的user
属性,他们的主组成为该实体的group
属性。默认情况下,实体将允许对其用户具有读写/删除访问权限,对其组具有读取访问权限,对其他用户没有访问权限。
您可以使用以下常量进行访问控制
Tilmeld::FULL_ACCESS
- 读取/编辑/保存/更改AC/删除访问。Tilmeld::WRITE_ACCESS
- 读取/编辑/保存访问。Tilmeld::READ_ACCESS
- 读取访问。Tilmeld::NO_ACCESS
- 无访问。
以下属性用于实体,以控制谁有访问权限
$entity->user
- 拥有实体的User
。$entity->group
- 拥有实体的Group
。$entity->acUser
- 拥有者的访问控制级别。默认为Tilmeld::FULL_ACCESS
。$entity->acGroup
- 拥有者的访问控制级别。默认为Tilmeld::READ_ACCESS
。$entity->acOther
- 其他人的访问控制级别。默认为Tilmeld::NO_ACCESS
。$entity->acRead
- 被授予Tilmeld::READ_ACCESS
的用户/组的数组。$entity->acWrite
- 被授予Tilmeld::WRITE_ACCESS
的用户/组的数组。$entity->acFull
- 被授予Tilmeld::FULL_ACCESS
的用户/组的数组。
权限
权限可以授予用户和/或其组。当你调用 gatekeeper
时,它会检查给定的权限。
system/admin
权限是特殊的,它会导致 gatekeeper
对于具有此权限的用户始终返回 true。它还会让用户查看、修改和删除所有实体,就像它们有 Tilmeld::FULL_ACCESS
一样。
tilmeld/admin
权限允许用户查看设置应用并修改所有用户/组(不包括具有 system/admin
权限的用户/组)。Tilmeld 管理员对用户电子邮件的更改不需要验证。Tilmeld 管理员不能将 system/admin
授予用户或组,但他们可以分配组,因此不要授予组 system/admin
权限。
生成的首要组
默认情况下,Tilmeld 为每个新用户生成一个首要组。当用户信息更改时,该信息将传播到组中。
API 文档
请参阅完整的 API 文档,网址为 https://tilmeld.org/api/server/latest