在AEM Communities的发布环境中,用户可以自行注册和编辑其配置文件。 如果具有适当的权限,他们也可能
在发布环境中注册的用户通常称为社区成员(成员),以便与创作环境中的用户区分开。
权限的授予方式为:将成员分配给在从创作环境创建社区站点🔗或已修改时动态创建的成员(用户)组之一。 从创作环境工作时,成员可通过tunnel service从发布环境中可见。
根据设计,在发布环境中创建的成员和成员组不应显示在创作环境中。 在创作环境中创建的用户和用户组同样可以停留在创作环境中。
当创作用户和发布成员来自同一用户列表(如从同一LDAP目录同步)时,他们在创作和发布环境中不被视为具有相同权限和组成员资格的同一用户。 成员和用户的角色必须在发布和创作时酌情分开建立。
对于发布场,需要将一个发布实例上进行的注册和修改与其他发布实例同步,以便它们能够访问相同的用户数据。 有关详细信息,请参阅User Synchronization,其中包含描述What When…的部分。
为了防止垃圾邮件,可以限制成员发布内容的频率。 此外,可自动限制新登记成员的缴款。
有关详细信息,请参阅成员贡献限制。
创建新社区站点后,会使用唯一的ID(uid)和相应于在创作环境(请参阅创作组角色)或发布环境(请参阅发布组角色)中管理社区站点所需的各种管理功能动态创建新用户组。
群组的名称是在社区站点创建期间,根据给定站点的名称生成的。 唯一ID可避免同一服务器上名称相似的社区站点和社区组发生命名冲突。
例如,如果对于标题为“We.Retail Engage”的网站,网站名称为“engage”,则创建的用户组之一将为:
使用创作环境创建站点、修改站点属性和管理社区成员和成员组时,必须访问在发布环境中注册的用户和用户组。
隧道服务使用作者上的复制代理提供此访问。
“社区成员”和“组”控制台仅用于管理仅在发布环境中注册的用户(成员)和用户组(成员组)。
要管理在创作环境中注册的用户和用户组,请使用安全控制台
如果组成员…… | 主要角色 |
---|---|
管理员 | 管理员组由系统管理员组成,这些系统管理员具有社区管理员的所有能力以及管理社区管理员组的能力。 |
社区管理员 | 社区管理员组会自动成为所有社区站点以及网站上创建的任何社区组的成员。 社区管理员组的初始成员是管理员组。 在创作环境中,社区管理员能够创建社区站点、管理站点、管理成员(他们可以禁止社区成员)以及审核内容。 |
社区<站点名称> Sitecontentmanager | 社区站点内容管理器能够执行传统的AEM创作、内容创建和修改社区站点的页面。 |
社区支持经理 | 社区支持管理器组由可供分配的用户组成,这些用户可以管理社区站点的支持管理器组。 |
社区<站点名称 > Siteenablementmanagers | 社区站点启用管理器组由分配给用户以管理社区站点的启用资源的用户组成。 |
无 | 匿名网站访客可能无法访问创作环境。 |
管理员组的成员是系统管理员,他们能够为创作和发布环境执行AEM安装的初始设置。
出于演示和开发目的,管理员组的成员的用户ID为admin ,密码为admin。
对于生产环境,应修改默认的管理员组。
确保遵循安全检查列表。
在发布环境中,根据社区站点的设置,站点访客可能会成为社区成员
当社区站点为私有(已关闭)时:
当社区站点为公共(打开)时:
如果站点访客注册为一个开放社区站点的成员,则他们会自动成为同一发布环境中其他开放社区站点的成员。
如果组成员…… | 主要角色 |
---|---|
社区<站点名称>成员 | 社区站点成员是注册用户。 他们可以登录、修改其用户档案、加入开放的社区组、向社区发布内容、向其他成员发送消息,以及关注网站活动。 |
社区<站点名称>审核者 | 社区站点审核者是受信任的社区成员,能够使用审核控制台或在发布内容的页面上的上下文中批量审核UGC。 |
社区<站点名称> <组名称>成员 | 社区组成员是已加入开放社区组或已受邀加入封闭社区组的社区成员。 他们具有站点内该社区组的成员能力。 |
社区<站点名称>组管理员 | 社区站点组管理员是受信任的社区成员,被分配来创建和管理社区站点中的子社区(组)。 其中包括提供上下文审核的功能。 |
特权成员安全组 | 为限制内容创建而手动创建和维护的用户组。 请参阅特权成员组。 |
无 | 发现网站的匿名网站访客可以查看和搜索允许匿名访问的社区网站。 要参与和发布内容,用户必须自行注册(如果允许)并成为社区成员。 |
当在创作环境中创建社区站点时,或者当修改站点属性时,可以为成员分配在发布环境中执行的各种角色,如审核者、组管理员、资源联系人或特权成员。
启用隧道服 务会导致在发布时从成员而不是作者用户那里显示分配选项。
所选成员将被自动分配给相应的组,并且在社区网站(重新)发布时将包含其成员关系。
特权成员安全组的目的是将为某些社区功能创建内容限制为社区站点成员的特权子集。
特权成员组是使用Communities Groups Console创建和管理的成员组。
创建特权成员组并启用隧道服务后,现有社区站点的结构可以是modified,以编辑其社区功能的配置,使其“允许特权成员”并添加创建的组。
允许指定一个或多个特权成员组的社区功能包括:
当社区功能未得到保护(未分配特权成员组)时,允许所有社区站点成员创建功能内容(文章、事件、主题、问题)。
将用户添加到社区站点的特权成员组时,仅当用户也是同一社区站点的成员时,才会授予他们创建权限。
为了使某些功能正常工作,需要创建具有相应权限的用户和用户组。
在/home/users/community
中创建成员后,这些成员将继承相应的ACL,为成员的配置文件授予读权限。
同样,应在/home/groups/community
中创建自定义社区用户组(如特权成员组)。
使用社区成员和组控制台将在这些路径中创建用户和组。
要指定自定义路径,需要使用经典安全UI,该UI可在https://<server>:<port>/useradmin访问。
要为自定义成员路径授予读取权限,请在所有发布实例上设置类似于/home/users/community
的ACL:
<allow
jcr:primaryType="rep:GrantACE"
rep:principalName="everyone"
rep:privileges="{Name}[jcr:read]" >
<rep:restrictions
jcr:primaryType="rep:Restrictions"
rep:glob="*/profile*" />
</allow>
要在所有发布实例上为自定义成员组路径(如/home/groups/mycompany)赋予适当的权限,请设置类似于/home/groups/community
的ACL:
<allow
jcr:primaryType="rep:GrantACE"
rep:principalName="community-administrators"
rep:privileges="{Name}[jcr:read]" />
只有在创作环境中,才有四个单独的控制台可用:
控制台 | 工具、安全性、用户 | 工具、安全性、组 | 社区、成员 | 社区、组 |
---|---|---|---|---|
管理 | 创作用户 | 创作时的用户组 | 发布时的成员 | 发布时的成员组 |
reamires | 管理权限 | 管理权限 | 管理员权限、隧道服务、发布场的用户同步 | 管理员权限、隧道服务、发布场的用户同步 |
网站访客自行注册的功能通常不允许启用社区进行注册,因为每个成员都有相关成本。 在创作网站创建期间,为enablement manager
🔗的角色分配了 的用户(添加为组Community <site-name> Siteenablementmanagers
的成员)管理启用学习者和资源。 enablement manager
还负责将学习资源🔗分配给创作社区成员。
只能为全局Community Enablement Managers
组成员的用户选择特定社区站点的enablement manager
。
要创建可能被分配Community Site Enablement Manager
角色的用户,请使用经典UI安全控制台以指定路径:
在创作实例上:
使用管理员权限登录,浏览到经典UI安全控制台。
例如, http://localhost:4502/useradmin
从“编辑”菜单中,选择创建用户。
填写Create User
对话框。
/home/users/community
选择创建
在左边窗格中:
community-enablementmanagers
拖到右窗格中显示的新用户的组选项卡如创作组角色图表中所述,社区管理员组的成员能够创建社区站点、管理站点、管理成员(他们可以禁止社区成员)以及审核内容。
按照与创建用户并将其分配给启用管理器的角色相同的步骤操作,但在用户的“组”选项卡下添加c ommunity-administrators
组。
AEM支持使用LDAP对用户进行身份验证以及创建用户帐户。 有关详细信息,请参见使用AEM 6配置LDAP。
以下是特定于社区成员和成员组的一些配置详细信息。
为每个AEM发布实例配置LDAP
设置以下属性:
community-<site name>-<uid>-members
/community
/community
这会导致用户被自动分配到社区站点的成员组,并且存储库位置为/home/users/community
和/home/groups/community
,以便他们继承相应的权限来查看彼此的配置文件。
User auto membership
值应为rep:authorizableId
属性,而不是配置文件中的givenName
(显示名称)。使用发布场时,请确保用户在每个发布实例上具有相同的路径,方法是先将用户导入一个实例,然后启用用户同步以Sling将用户分发到其他发布实例。
如果导入用户组,要确保用户组在每个发布实例上具有相同的路径,请导入到一个实例,然后创建要导出的包,然后在所有其他发布实例上安装该包。
虽然通过用户同步同步同步用户组的功能将包含在未来的版本中,但目前只有用户组的成员资格将在用户同步运行时进行同步。
讨论组时,有两个不同的主题:
社
区组社区组是在发布环境中为社区站点创建的子社区,支持创建社区组。创建社区组会导致向网站添加更多页面,并以与其父社区站点类似的方式进行管理。 有关更多信息,请访问社区组Essentials(面向开发人员)和社区组(面向作者)。
成员
组成员组是成员可能属于的组,并通过组控制台进行管理。本页讨论的大部分内容都是专门讨论会员组。 自动为社区站点创建的成员组(前缀为*Community
*)可称为社区组,因此必须考虑讨论的上下文。