guide访问控制

# 概述

根据应用程序的用例,可能需要限制对文档操作的特定功能的访问权限。CKEditor 协作服务器提供了一个功能,允许为特定用户设置特定文档的特定权限。该功能是 令牌 的一部分,该令牌从 令牌端点 返回。因此,应用程序完全控制权限。

为了更轻松地管理基本权限,CKEditor 协作服务器提供了三个预定义的角色:readercommentatorwriter。这些角色在安全指南的专用 角色部分 中进行了更详细的描述。如果需要创建更具体的角色,CKEditor 协作服务器允许设置特定的权限,这些权限已在 角色和权限 指南中进行了描述。

请记住,每个用户的权限和角色是分别设置的,因此选择正确角色或权限的逻辑必须作为后端应用程序中 令牌端点 的一部分来实现。

# 示例

# 限制文档编辑

假设需要允许 ID 为 user284 的用户仅读取以 -read 后缀命名的文档。但是,他们也应该能够编辑以 -edit 后缀命名的文档。以下示例显示了在这种情况下 令牌 应该是什么样子

{
    aud: 'your_environment_id',
        sub: 'user284',
        auth: {
                collaboration: {
                        '*-read': {
                                'permissions': [
                                        'document:read',
                                        'comment:read'
                        	]
                        },
                        '*-edit': {
                                'permissions': [
                                        'document:read',
                                        'comment:read',
                                        'document:write',
                                        'comment:write'
                                ]
                        }
                }
        }
}

在上面的示例中,*-read*-edit 属性表示文档/频道 ID 的模式,因此对于 ID 为 my-document-read 的文档/频道,ID/子项为 user284 的用户将只能读取该文档。但是,对于 ID 为 my-document-edit 的文档/频道,他们也将能够编辑它。

使用这些权限,ID 为 user284 的用户将无法打开任何其他文档,除了与匹配 *-edit*-read 文档/频道 ID 模式匹配的文档。

# 删除评论线程

还可能需要创建一个用户,该用户具有从整个环境中删除其他用户创建的整个评论线程的权限。ID 为 user284 的用户应该能够添加评论以及从文档中删除整个评论线程,但应该不能编辑文档内容。

{
    aud: 'your_environment_id',
        sub: 'user284',
        auth: {
                collaboration: {
                        '*': {
                                'permissions': [
                                        'document:read',
                                        'comment:read',
                                        'comment:write',
                                        'comment:admin'
                        	]
                        }
                }
        }
}

在所提供的示例中,ID 为 user284 的用户可以读取环境中的所有文档并对其进行评论。此外,该用户有权删除任何其他用户创建的评论线程,但仍然不能编辑或删除特定评论。

# 下一步

了解如何实现、配置和使用令牌端点.
阅读有关如何使用用户角色和权限的完整指南.