Forms用户管理 |处理用户数据

用户管理是AEM Forms JEE组件,它允许创建、管理和授权AEM Forms用户访问AEM Forms。 用户管理使用域作为获取用户信息的目录。 支持以下域类型:

本地域:此类域未连接到第三方存储系统。用户和组而是在本地创建,并驻留在用户管理数据库中。 密码存储在本地,并使用本地数据库完成身份验证。

混合域:此类域未连接到第三方存储系统。用户和组而是在本地创建,并驻留在用户管理数据库中。 与本地域不同,混合域使用外部身份验证提供程序,该提供程序可以是LDAP、Kerberos、SAML或自定义身份验证提供程序。

企业域:由位于第三方存储系统(如LDAP目录)中的用户和组组成。用户管理不写入第三方存储系统。 用户管理而是将用户和组信息与用户管理数据库同步。 企业域还使用外部身份验证提供程序,该提供程序可以是LDAP、Kerberos、SAML或自定义身份验证提供程序。

用户数据和数据存储

用户管理将用户数据存储在数据库中,如My Sql 、Oracle、MS SQL Server和IBM DB2。 此外,任何在AEM作者的Forms应用程序(https://'[server]:[port]'lc)中至少登录过一次的用户,都会在AEM存储库中创建该用户。 因此,用户管理存储在以下数据存储中:

  • 数据库
  • AEM存储库
  • 第三方存储,如LDAP目录
注意

存储在第三方存储中的数据不在本文档的范围之内。 直接联系第三方供应商以管理此类存储中的用户数据。

数据库

用户管理将用户数据存储在以下数据库表中:

数据库表 描述
EdcPrincipalEntity

存储有关主实体的信息。 主体可以是用户、组或角色。

EdcPrincipalUserEntity 存储用户的个人身份信息(PII)。 它包含一个适用于来自本地、企业和混合域的每个用户的条目。

EdcPrincipalLocalAccountEntity

EdcPrincipalLocalAccount (Oracle和MS SQL数据库)

仅存储本地用户的数据。

EdcPrincipalEmailAliasEntity

EdcPrincipalEmailAliasEn (Oracle和MS SQL数据库)

包含来自本地、企业和混合域的所有用户条目。 它包含用户电子邮件ID。

EdcPrincipalGrpCtmntEntity

EdcPrincipalGrpCtmntEnti (Oracle和MS SQL数据库)

存储用户和组之间的映射。
EdcPrincipalRoleEntity 存储用户和组的角色和主体之间的映射。
EdcPriResPrmEntity 存储用户和组的主权限和权限之间的映射。

EdcPrincipalMappingEntity

EdcPrincipalMappingEntit (Oracle和MS SQL数据库)

存储与主体对应的旧属性值和新属性值。

AEM存储库

对于在https://'[server]:[port]'lc下至少访问过Forms应用程序一次的用户,用户管理数据也存储在AEM存储库中。

访问和删除用户数据

您可以访问和导出用户管理数据库和AEM存储库中用户的用户管理数据,并根据需要永久删除该数据。

数据库

要从用户管理数据库导出或删除用户数据,您需要使用数据库客户端连接到数据库,并根据用户的某些PII查找主ID。 例如,要使用登录ID检索用户的主ID,请在数据库中运行以下select命令。

select命令中,将<user_login_id>替换为您要检索其主ID的用户的登录ID。

select refprincipalid from EdcPrincipalUserEntity where uidstring = <user_login_id>

知道主体ID后,即可导出或删除用户数据。

导出用户数据

运行以下数据库命令,从数据库表中导出主体ID的用户管理数据。 在select命令中,将<principal_id>替换为要导出其数据的用户的主ID。

注意

以下命令使用My SQL和IBM DB2数据库中的数据库表名。 在Oracle和MS SQL数据库上运行这些命令时,请替换命令中的以下表名:

  • EdcPrincipalLocalAccountEntity替换为EdcPrincipalLocalAccount

  • EdcPrincipalEmailAliasEntity替换为EdcPrincipalEmailAliasEn

  • EdcPrincipalMappingEntity替换为EdcPrincipalMappingEntit

  • EdcPrincipalGrpCtmntEntity替换为EdcPrincipalGrpCtmntEnti

Select * from EdcPrincipalLocalAccountEntity where refuserprincipalid in (Select id from EdcPrincipalUserEntity where refprincipalid in (Select id from EDCPRINCIPALENTITY where id='<principal_id>'));

Select * from EdcPrincipalEmailAliasEntity where refprincipalid in (Select id from EdcPrincipalEntity where id='<principal_id>');

Select * from EdcPrincipalRoleEntity where refprincipalid in (Select id from EdcPrincipalEntity where id='<principal_id>');

Select * from EdcPriResPrmEntity where refprinid in (Select id from EdcPrincipalEntity where id='<principal_id>');

Select * from EdcPrincipalUserEntity where refprincipalid in (Select id from EdcPrincipalEntity where id='<principal_id>');

Select * from EdcPrincipalMappingEntity where refprincipalid in (Select id from EdcPrincipalEntity where id='<principal_id>');

Select * from EdcPrincipalGrpCtmntEntity where refchildprincipalid in (Select id from EdcPrincipalEntity where id='<principal_id>');

Select * from EdcPrincipalEntity where id='<principal_id>';

删除用户数据

执行以下操作,以从数据库表中删除主体ID的用户管理数据。

  1. 删除用户数据中所述,从AEM存储库中删除用户数据(如果适用)。

  2. 关闭AEM Forms服务器。

  3. 运行以下数据库命令,从数据库表中删除主体ID的用户管理数据。 在Delete命令中,将<principal_id>替换为要删除其数据的用户的主ID。

    Delete from EdcPrincipalLocalAccountEntity where refuserprincipalid in (Select id from EdcPrincipalUserEntity where refprincipalid in (select id from EdcPrincipalEntity where id='<principal_id>'));
    
    Delete from EdcPrincipalEmailAliasEntity where refprincipalid in (Select id from EdcPrincipalEntity where id='<principal_id>');
    
    Delete from EdcPrincipalRoleEntity where refprincipalid in (Select id from EdcPrincipalEntity where id='<principal_id>');
    
    Delete from EdcPriResPrmEntity where refprinid in (Select id from EdcPrincipalEntity where id='<principal_id>');
    
    Delete from EdcPrincipalUserEntity where refprincipalid in (Select id from EdcPrincipalEntity where id='<principal_id>');
    
    Delete from EdcPrincipalMappingEntity where refprincipalid in (Select id from EdcPrincipalEntity where id='<principal_id>');
    
    Delete from EdcPrincipalGrpCtmntEntity where refchildprincipalid in (Select id from EdcPrincipalEntity where id='<principal_id>');
    
    Delete from EdcPrincipalEntity where id='<principal_id>';
    
  4. 启动AEM Forms服务器。

AEM存储库

Forms JEE用户在AEM存储库中拥有其数据(如果他们至少访问了AEM Forms创作实例之一)。 您可以从AEM存储库访问和删除其用户数据。

访问用户数据

要查看在AEM存储库中创建的用户,请使用AEM管理员凭据登录https://'[server]:[port]'/lc/useradmin。 请注意,URL中的serverport是AEM创作实例的。 在此,您可以使用用户名搜索用户。 双击某个用户可查看该用户的属性、权限和群组等信息。 用户的Path属性指定在AEM存储库中创建的用户节点的路径。

删除用户数据

要删除用户,请执行以下操作:

  1. 转到具有AEM管理员凭据的https://'[server]:[port]'/lc/useradmin
  2. 搜索用户,然后双击用户名以打开用户属性。 复制Path属性。
  3. 转到位于https://'[server]:[port]'/lc/crx/de/index.jsp的AEM CRX DELite,然后导航或搜索用户路径。
  4. 删除路径,然后单击​Save All​以从AEM存储库中永久删除用户。

在此页面上