☰
Current Page
Main Menu
Home
Home
Editing Auditing-When-Accessing-Reports
Edit
Preview
H1
H2
H3
default
Set your preferred keybinding
default
vim
emacs
markdown
Set this page's format to
AsciiDoc
Creole
Markdown
MediaWiki
Org-mode
Plain Text
RDoc
Textile
Rendering unavailable for
BibTeX
Pod
reStructuredText
Help 1
Help 1
Help 1
Help 2
Help 3
Help 4
Help 5
Help 6
Help 7
Help 8
Autosaved text is available. Click the button to restore it.
Restore Text
#Audit Report Access & Exports [[_TOC_]] ##Question How can I set up auditing so that whenever a user accesses or exports report data, an audit is performed? ##Answer One way of doing this is to use the PreExecuteReportSet in your global.asax file. Every time a user clicks on print or exports, it fires a query. You would need to write the custom code in the PreExecuteReportSet method utilizing the querystring which contains the report name and output. You could then pass that data to a table in your database including the username, time, etc. ##C♯ FileSystemAdHocConfig Example ```csharp public override void PreExecuteReportSet(ReportSet reportSet) { Guid g = Guid.NewGuid(); XElement audit = new XElement("Audit", new XElement("AuditID", g.ToString()), new XElement("Name", AdHocSettings.CurrentUserName), new XElement("ReportName", reportSet.ReportName), new XElement("DateAccessed", DateTime.Now.ToString())); if (!Directory.Exists("C:\\Reports\\Audits\\" + DateTime.Now.ToShortDateString().Replace("/", "-"))) { Directory.CreateDirectory("C:\\Reports\\Audits\\" + DateTime.Now.ToShortDateString().Replace("/", "-")); } File.WriteAllText("C:\\Reports\\Audits\\" + DateTime.Now.ToShortDateString().Replace("/", "-") + "\\" + g.ToString() + ".log", audit.ToString(), Encoding.UTF8); base.PreExecuteReportSet(reportSet); } ``` ##VB.NET FileSystemAdHocConfig Example ```visualbasic Public Overrides Sub PreExecuteReportSet(ByVal reportSet As ReportSet) Dim g As Guid = Guid.NewGuid() Dim audit As XElement = New XElement("Audit", _ New XElement("AuditID", g.ToString()), _ New XElement("Name", AdHocSettings.CurrentUserName), _ New XElement("ReportName", reportSet.ReportName), _ New XElement("DateAccessed", DateTime.Now.ToString())) If Not Directory.Exists("C:\\Reports\\Audits\\" + DateTime.Now.ToShortDateString().Replace("/", "-")) Then Directory.CreateDirectory("C:\\Reports\\Audits\\" + DateTime.Now.ToShortDateString().Replace("/", "-")) End If File.WriteAllText("C:\\Reports\\Audits\\" + DateTime.Now.ToShortDateString().Replace("/", "-") + "\\" + g.ToString() + ".log", audit.ToString(), Encoding.UTF8) MyBase.PreExecuteReportSet(reportSet) End Sub ``` _**Note:** For this example, you will need to use a version of the .NET framework that uses ``System.Xml.Linq``_
Uploading file...
Header
 **This documentation is for the legacy Izenda 6 product. Documentation for the new Izenda 7 product can be found at [[https://www.izenda.com/docs/|https://www.izenda.com/docs/]]**
Sidebar
 --- * [[Izenda 7 Series Documentation|https://www.izenda.com/docs/]] * [[Release Notes]] * [[Upgrade Best Practices|FAQ/Izenda-Update-Best-Practices]] * [[FAQ]] * [[Tutorials]] * [[The Izenda API|/API/AdHocConfig]] * [[The AdHocSettings class|/API/AdHocSettings]] * [Developer Links and Guides](/Guides/Developer-Links-and-Guides) * [[Known Issues]] --- * <a href="http://www.izenda.com" rel="nofollow" target="_blank">Izenda Website</a> * [Product Video](https://www.youtube.com/watch?v=X3-yWFq0w5A) * <a href="http://www.izenda.com/blog" rel="nofollow" target="_blank">Izenda Blog</a> * <a href="http://www.izenda.com/company/" rel="nofollow" target="_blank">About Us</a> * <a href="http://www.izenda.com/contact-us/" rel="nofollow" target="_blank">Contact Us</a> --- * [Guide To Report Design](/Guides/ReportDesign) * [Making Custom Forms Video](http://www.youtube.com/watch?v=5b2axJlgdFs) --- * [[Acknowledgements]]
Edit message:
Cancel