在 Alfresco 中跟踪用户操作

Track user actions in Alfresco

我需要跟踪用户在 Alfresco 中执行的每个操作。

我想编写一个带有"Around"建议的 Spring 拦截器,当用户在登录到门户后执行任何操作时,应该对其进行跟踪。

用户执行的操作,该操作的参数应该可用于自定义拦截器。

如果有人知道如何实现这种场景,请帮助我。


可能已经很晚了,但还是:)

审计支持开箱即用。但据我了解,默认情况下它仅用于记录管理。对于共享操作,您需要执行多个 sreps:

  • 创建文件 extenstion/audit/alfresco-audit-node.xml
  • 为节点上的操作注册一个应用程序,例如让我们进行读取操作,所以这个xml的内容是这样的:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <Audit
      xmlns="http://www.alfresco.org/repo/audit/model/3.2"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.alfresco.org/repo/audit/model/3.2 alfresco-audit-3.2.xsd"
      >
      <DataExtractors>
        <DataExtractor name="simpleValue" registeredName="auditModel.extractor.simpleValue"/>
      </DataExtractors>

      <DataGenerators>
        <DataGenerator name="personFullName" registeredName="auditModel.generator.personFullName"/>
      </DataGenerators>

      <PathMappings>
        <PathMap source="/alfresco-api/post/ContentService/getReader" target="/node/read"/>
      </PathMappings>

      <Application name="Node" key="node">
        <AuditPath key="read">
          <AuditPath key="no-error">
            <RecordValue key="nodeRef" dataExtractor="simpleValue" dataSource="/node/read/args/nodeRef"/>
            <RecordValue key="propertyQName" dataExtractor="simpleValue" dataSource="/node/read/args/propertyQName"/>
            <RecordValue key="result" dataExtractor="simpleValue" dataSource="/node/read/result"/>
            <GenerateValue key="personFullName" dataGenerator="personFullName"/>
            <GenerateValue key="currentUser" dataGenerator="currentUser"/>
            <GenerateValue key="systemTime" dataGenerator="systemTime"/>
          </AuditPath>
          <AuditPath key="error">
            <RecordValue key="nodeRef" dataExtractor="simpleValue" dataSource="/node/read/args/nodeRef"/>
            <RecordValue key="propertyQName" dataExtractor="simpleValue" dataSource="/node/read/args/propertyQName"/>
            <RecordValue key="error" dataExtractor="simpleValue" dataSource="/node/read/error"/>
            <GenerateValue key="personFullName" dataGenerator="personFullName"/>
            <GenerateValue key="currentUser" dataGenerator="currentUser"/>
            <GenerateValue key="systemTime" dataGenerator="systemTime"/>
          </AuditPath>
        </AuditPath>
      </Application>

    </Audit>
  • 通过调用webscript启用应用程序,你可以在这里查看:/alfresco/service/api/audit/control

  • 现在您可以在此处查看日志:/alfresco/service/api/audit/query/Node?verbose=true&limit=10&user=admin