Beispiel #1
0
        public static bool Audit(int id, Dictionary <string, object> contextData, string eventText, params string[] args)
        {
            try
            {
                var auditEvent = new AuditEvent(id, String.Format(eventText, args), contextData);
                AuditingProvider.Audit(auditEvent);
            }
            catch (Exception ex)
            {
                ExceptionPolicy.HandleException(ex, Defaults.DefaultExceptionPolicy);
            }

            return(true);
        }
Beispiel #2
0
        /// <summary>
        /// Almacena un modelo de auditoría para la operación actual
        /// </summary>
        /// <param name="actionContext">actionContext</param>
        /// <param name="linkedOps">Lista de linked operations de la acción realizandose actualmente</param>
        /// <param name="linkedGroups">Lista de linked operation groups de la acción realizandose actualmente</param>
        private void SaveOperationAuditModel(HttpActionContext actionContext, ICollection <LinkedOperationsAttribute> linkedOps)
        {
            Guid requestGuid = actionContext.Request.GetCorrelationId();

            int actualOperationId = 0;
            int actualGroupId     = 0;

            if (linkedOps.Count > 0)
            {
                foreach (var linkedOp in linkedOps)
                {
                    if (linkedOp.AllowedOperations.Count > 0)
                    {
                        actualOperationId = (int)linkedOp.AllowedOperations.First();
                    }
                }
            }
            string user = string.Empty;

            if (HttpContext.Current.User == null || HttpContext.Current.User.Identity == null || string.IsNullOrWhiteSpace(HttpContext.Current.User.Identity.Name))
            {
                try
                {
                    if (IsAuthorized(actionContext.Request.Headers.Authorization, new List <Operations>()))
                    {
                        user = HttpContext.Current.User.Identity.Name;
                    }
                }
                catch
                {
                    user = string.Empty;
                }
            }
            else
            {
                user = HttpContext.Current.User.Identity.Name;
            }
            AuditingProvider.SetOperationAuditingModel(user, actualOperationId, actualGroupId, requestGuid);
        }