AnsweredAssumed Answered

Problema com auditoria 3.4

Question asked by andersonm on Aug 25, 2011
Olá a todos,

Estou tentando usar a nova auditoria 3.4. Eu quero persistir a auditoria sempre que um usuário consultar um documento.
Eu sou capaz de fazer isso, mas não em todas as consultas, somente na primeira consulta em cada documento. Por exemplo, um usuário cria um documento e o baixa, então esta consulta é auditada, mas se for feito o download do mesmo documento novamente, não é auditado.

Até agora, eu fiz isso:

1 Habilitei a auditoria no alfresco global.properties:

# Enable audit in general
audit.enabled=true

# Enable the alfresco-access audit application
audit.alfresco-access.enabled=true

# Enable the auditing of sub-actions. Normally disabled as these values are
# not normally needed by audit configurations, but may be useful to
# developers
audit.alfresco-access.sub-actions.enabled=true

2 Criei um arquivo alfresco-auditoria document.xml, o coloquei em /shared/classes/alfresco/extension/audit, e o preenchi com o código a seguir:

<?xml version='1.0' encoding='UTF-8'?>

    <!– Node Functions –>

    <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"/>
      <DataExtractor name="nodeName" registeredName="auditModel.extractor.nodeName"/>
      <DataExtractor name="nodeType" registeredName="auditModel.extractor.nodeType"/>
        </DataExtractors>

        <DataGenerators>
           <DataGenerator name="personFullName" registeredName="auditModel.generator.personFullName"/>
           <DataGenerator name="currentUser" registeredName="auditModel.generator.user"/>
           <DataGenerator name="systemTime" registeredName="auditModel.generator.time"/>
        </DataGenerators>

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

        <Application name="AuditDocument" key="document">          
            <AuditPath key="read">
                <AuditPath key="no-error">
                    <RecordValue key="document" dataExtractor="nodeName" dataSource="/document/read/args/nodeRef"/>
                    <GenerateValue key="user" dataGenerator="personFullName"/>
                </AuditPath>
                <AuditPath key="error">
                    <RecordValue key="document" dataExtractor="nodeName" dataSource="/document/read/args/nodeRef"/>
                    <GenerateValue key="user" dataGenerator="personFullName"/>
                </AuditPath>
            </AuditPath>
        </Application>
</Audit>

Com isso, eu uso o comando "curl -u admin:admin "http://localhost:8080/alfresco/service/api/audit/query/AuditDocument?verbose=true" e obtenho um resultado como este:

{
"id":2605,
"application":AuditDocument,
"user":admin,
"time":"2011-08-24T12:18:58.284-03:00",
"values":
{
"/document/read/no-error/document":"111001-ADD-001-A00.js"
,"/document/read/no-error/user":"Administrator"
}
},

Isto está certo, mas tem o problema descrito acima.

Espero ter sido claro.

Desde já obrigado.

Outcomes