Duvidas sobre Auditoria


Author
Message
Malcon
Malcon
StrataFrame Beginner (46 reputation)StrataFrame Beginner (46 reputation)StrataFrame Beginner (46 reputation)StrataFrame Beginner (46 reputation)StrataFrame Beginner (46 reputation)StrataFrame Beginner (46 reputation)StrataFrame Beginner (46 reputation)StrataFrame Beginner (46 reputation)StrataFrame Beginner (46 reputation)
Group: Forum Members
Posts: 28, Visits: 93
Boa tarde, ja tenho a auditoria implementada em meu software a algum tempo. Mas agora as empresas estao me cobrando a seguinte situação:

Algum usuario do sistema altera o endereço do cadastro de clientes de Rua XXXX para Rua YYYY. Na auditoria ele ira mostrar que foi na tabela de clientes, no campo endereço com valor antigo XXX e novo YYY. Mas foi em qual cliente?

Existe alguma forma, ou situação que possa implementar para que ele sempre grave um determinado campo, e/ou grupo de campos?
Edited 13 Years Ago by Malcon
Ivan George Borges
Ivan George Borges
Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)
Group: StrataFrame MVPs
Posts: 1.9K, Visits: 21K
Olá Malcon.

Simplesmente configurando o BO e setando o SecurityBasics, eu acho que não.

Porém, se você usar o Auditor.InsertAuditEvent para logar sua auditoria, pode montar praticamente como quiser. Por exemplo, pode utilizar o seu BO BeforeSave, checar se o campo que você audita foi alterado e inserir tudo o que quiser no SFSAuditEvents ae_Data como um byte array.

Lembre-se que não há filtro de campos da maneira automática que existe hoje, e isto pode incorrer em uma penalidade de performance considerável, dependendo de como seu sistema é utilizado.
Marcio Valerio Silva
Marcio Valerio Silva
StrataFrame Novice (75 reputation)StrataFrame Novice (75 reputation)StrataFrame Novice (75 reputation)StrataFrame Novice (75 reputation)StrataFrame Novice (75 reputation)StrataFrame Novice (75 reputation)StrataFrame Novice (75 reputation)StrataFrame Novice (75 reputation)StrataFrame Novice (75 reputation)
Group: Forum Members
Posts: 55, Visits: 929
Olá Ivan e Malcon!

Desculpem-me a intromissão no post mas se algum de vocês tiverem um exemplo de como fazer essa auditioria para saber o registro em que houve a alteração e puderem postar eu agradeceria, pois me ajudaria muito.

Eu até entendo o uso da classe mas como fazer está faltando uma luz...

at,

Marcio Valerio da Silva
Ivan George Borges
Ivan George Borges
Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)Strategic Support Team Member (2.8K reputation)
Group: StrataFrame MVPs
Posts: 1.9K, Visits: 21K
Oi Marcio.

Você poderia usar, por exemplo, o BeforeSave e lá dentro descobrir que campos foram alterados. Para isto, estes posts vão te dar uma boa noção de como fazê-lo:

http://forum.strataframe.net/FindPost14099.aspx

http://forum.strataframe.net/FindPost11127.aspx

Então, para cada campo alterado, ou para aqueles que você gostaria de auditar, você pode adicionar um registro à tabela the AuditEvents, algo como o seguinte:

MicroFour.StrataFrame.Security.Auditor.InsertAuditEvent( _
    "Alteração de Valor em Campo", _
    "O campo " & MyField & " foi alterado", _
    New System.Text.ASCIIEncoding().GetBytes( _
    "Valor antigo: " & MyBo.CurrentRow.Item(MyBoFieldNames.MyField, DataRowVersion.Current) & vbLf & _
    "Valor atual: " & MyBo.CurrentRow.Item(MyBoFieldNames.MyField, DataRowVersion.Current)))

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search