Esempio n. 1
0
        public AuditEntry(EventType eventType, AuditEventId auditEventId, string username, string ipAddressV4, string machineName, string message)
        {
            EventId   = auditEventId;
            EventType = eventType;

            Username    = username;
            Message     = message;
            MachineName = machineName;
            IpAddressV4 = ipAddressV4;

            EventTimeUtc = DateTime.UtcNow;
        }
Esempio n. 2
0
        public async Task <Response> AddAuditEntry(EventType eventType, AuditEventId auditEventId, string message)
        {
            try
            {
                if (!IsAuditLogEnabled())
                {
                    return(new FailedResponse("Audit Log is disabled."));
                }

                (string username, string ipv4) = GetUsernameAndIp();

                // Truncate data so that SQL won't blow up
                if (message.Length > 256)
                {
                    message = message.Substring(0, 256);
                }

                string machineName = Environment.MachineName;
                if (machineName.Length > 32)
                {
                    machineName = machineName.Substring(0, 32);
                }

                var auditEntry = new AuditEntry(eventType, auditEventId, username, ipv4, machineName, message);

                var connStr = _configuration.GetConnectionString(Constants.DbConnectionName);
                await using var conn = new SqlConnection(connStr);

                var sql = @"INSERT INTO AuditLog([EventId],[EventType],[EventTimeUtc],[WebUsername],[IpAddressV4],[MachineName],[Message])
                            VALUES(@EventId, @EventType, @EventTimeUtc, @Username, @IpAddressV4, @MachineName, @Message)";

                int rows = await conn.ExecuteAsync(sql, auditEntry);

                return(new Response(rows > 0));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(new FailedResponse((int)ResponseFailureCode.GeneralException, e.Message, e));
            }
        }
Esempio n. 3
0
        public async Task AddAuditEntry(EventType eventType, AuditEventId auditEventId, string message)
        {
            try
            {
                if (!await IsAuditLogEnabled())
                {
                    return;
                }

                var(username, ipv4) = GetUsernameAndIp();

                // Truncate data so that SQL won't blow up
                if (message.Length > 256)
                {
                    message = message.Substring(0, 256);
                }

                var machineName = Environment.MachineName;
                if (machineName.Length > 32)
                {
                    machineName = machineName.Substring(0, 32);
                }

                var auditEntry = new AuditEntry(eventType, auditEventId, username, ipv4, machineName, message);

                var connStr = _configuration.GetConnectionString(_dbName);
                await using var conn = new SqlConnection(connStr);

                const string sql = @"INSERT INTO AuditLog([EventId],[EventType],[EventTimeUtc],[WebUsername],[IpAddressV4],[MachineName],[Message])
                            VALUES(@EventId, @EventType, @EventTimeUtc, @Username, @IpAddressV4, @MachineName, @Message)";

                await conn.ExecuteAsync(sql, auditEntry);
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
            }
        }