Forms用户管理 |处理用户数据 forms-user-management-handling-user-data

CAUTION
AEM 6.4已结束扩展支持,本文档将不再更新。 有关更多详细信息,请参阅 技术支助期. 查找支持的版本 此处.

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

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

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

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

用户数据和数据存储 user-data-and-data-stores

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

  • 数据库
  • AEM存储库
  • 第三方存储,如LDAP目录
NOTE
存储在第三方存储中的数据不在本文档的范围之内。 直接联系第三方供应商以管理此类存储中的用户数据。

数据库 database

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

数据库表
描述
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存储库 aem-repository

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

访问和删除用户数据 access-and-delete-user-data

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

数据库 database-1

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

select 命令,替换 <user_login_id> 包含要检索其主体ID的用户的登录ID。

select refprincipalid from EdcPrincipalUserEntity where uidstring = <user_login_id>

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

导出用户数据 export-user-data

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

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

  • 替换 EdcPrincipalEmailAliasEntity with EdcPrincipalEmailAliasEn

  • 替换 EdcPrincipalMappingEntity with EdcPrincipalMappingEntit

  • 替换 EdcPrincipalGrpCtmntEntity with 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>';

删除用户数据 delete-user-data

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

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

  2. 关闭AEM Forms服务器。

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

    code language-sql
    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存储库 aem-repository-1

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

访问用户数据 access-user-data

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

删除用户数据 delete-aem

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

  1. 转到 https://[*server*]:[*port*]/lc/useradmin 具有AEM管理员凭据。
  2. 搜索用户,然后双击用户名以打开用户属性。 复制 Path 属性。
  3. 转到AEM CRX DELite() https://[*server*]:[*port*]/lc/crx/de/index.jsp ,然后导航或搜索用户路径。
  4. 删除路径并单击 全部保存 从AEM存储库中永久删除用户。
recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da