﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Role Based Security  » Duvidas sobre Auditoria</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 09 Jun 2026 00:17:54 GMT</lastBuildDate><ttl>20</ttl><item><title>Duvidas sobre Auditoria</title><link>http://forum.strataframe.net/FindPost29472.aspx</link><description>Boa tarde, ja tenho a auditoria implementada em meu software a algum tempo. Mas agora as empresas estao me cobrando a seguinte situação:&lt;br/&gt;&lt;br/&gt;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? &lt;br/&gt;&lt;br/&gt;Existe alguma forma, ou situação que possa implementar para que ele sempre grave um determinado campo, e/ou grupo de campos? </description><pubDate>Tue, 01 Feb 2011 00:37:58 GMT</pubDate><dc:creator>Malcon</dc:creator></item><item><title>RE: Duvidas sobre Auditoria</title><link>http://forum.strataframe.net/FindPost29477.aspx</link><description>Oi Marcio.&lt;br/&gt;&lt;br/&gt;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:&lt;br/&gt;&lt;br/&gt;&lt;a href="http://forum.strataframe.net/FindPost14099.aspx"&gt;&lt;a href="http://forum.strataframe.net/FindPost14099.aspx"&gt;http://forum.strataframe.net/FindPost14099.aspx&lt;/a&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href="http://forum.strataframe.net/FindPost11127.aspx"&gt;&lt;a href="http://forum.strataframe.net/FindPost11127.aspx"&gt;http://forum.strataframe.net/FindPost11127.aspx&lt;/a&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;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:&lt;br/&gt;&lt;br/&gt;[codesnippet]MicroFour.StrataFrame.Security.Auditor.InsertAuditEvent( _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Alteração de Valor em Campo", _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "O campo " &amp;amp; MyField &amp;amp; " foi alterado", _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; New System.Text.ASCIIEncoding().GetBytes( _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Valor antigo: " &amp;amp; MyBo.CurrentRow.Item(MyBoFieldNames.MyField, DataRowVersion.Current) &amp;amp; vbLf &amp;amp; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Valor atual: " &amp;amp; MyBo.CurrentRow.Item(MyBoFieldNames.MyField, DataRowVersion.Current)))[/codesnippet]</description><pubDate>Tue, 01 Feb 2011 00:37:58 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item><item><title>RE: Duvidas sobre Auditoria</title><link>http://forum.strataframe.net/FindPost29474.aspx</link><description>Olá Ivan e Malcon!&lt;br/&gt;&lt;br/&gt;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.&lt;br/&gt;&lt;br/&gt;Eu até entendo o uso da classe mas como fazer está faltando uma luz...</description><pubDate>Mon, 31 Jan 2011 13:50:59 GMT</pubDate><dc:creator>Marcio Valerio Silva</dc:creator></item><item><title>RE: Duvidas sobre Auditoria</title><link>http://forum.strataframe.net/FindPost29473.aspx</link><description>Olá Malcon.&lt;br/&gt;&lt;br/&gt;Simplesmente configurando o BO e setando o SecurityBasics, eu acho que não.&lt;br/&gt;&lt;br/&gt;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.&lt;br/&gt;&lt;br/&gt;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.</description><pubDate>Mon, 31 Jan 2011 12:59:03 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item></channel></rss>