/// <summary>
            /// Execute action
            /// </summary>
            /// <param name="action">Action name</param>
            /// <param name="ie">Intrusion exception</param>
            /// <remarks>IntrusionException will be thrown if action not known</remarks>
            internal void Execute(string action, IntrusionException ie)
            {
                Debug.Assert(ie != null);

                if (0 == string.Compare(action, "log", true)) {
                    Esapi.Logger.Fatal(LogEventTypes.SECURITY, ie.LogMessage);
                }
                else if (0 == string.Compare(action, "disable", true)) {
                    MembershipUser user = Membership.GetUser();
                    if (user != null) {
                        user.IsApproved = false;
                        Membership.UpdateUser(user);
                    }
                }
                else if (0 == string.Compare(action, "logout", true)) {
                    FormsAuthentication.SignOut();
                }
                else {
                    throw ie;
                }
            }
        /// <summary>
        ///     Instrusion was detected
        /// </summary>
        /// <param name="eventName"></param>
        private void OnIntrusionDetected(string eventName, IntrusionException e)
        {
            Debug.Assert(e != null);

            Threshold quota = this.GetEventThreshold(eventName);
            if (quota == null)
            {
                throw new ArgumentException(EM.IntrusionDetector_UnknownEventName, "eventName");
            }

            // Take actions
            foreach (string action in quota.Actions)
            {
                // Log action execution
                string message = string.Format(
                    EM.InstrusionDetector_ExceededQuota4,
                    quota.MaxOccurences,
                    quota.MaxTimeSpan,
                    eventName,
                    action);
                this._logger.Fatal(LogEventTypes.SECURITY, "INTRUSION - " + message);

                this._actionManager.Execute(action, e);
            }
        }