WebFailureAuditEvent Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje informace o chybách zabezpečení.
public ref class WebFailureAuditEvent : System::Web::Management::WebAuditEvent
public class WebFailureAuditEvent : System.Web.Management.WebAuditEvent
type WebFailureAuditEvent = class
inherit WebAuditEvent
Public Class WebFailureAuditEvent
Inherits WebAuditEvent
- Dědičnost
- Odvozené
Příklady
Následující příklad kódu ukazuje, jak odvodit z WebFailureAuditEvent třídy k vytvoření vlastní audit událostí.
using System;
using System.Text;
using System.Web;
using System.Web.Management;
namespace SamplesAspNet
{
// Implements a custom WebFailureAuditEvent class.
public class SampleWebFailureAuditEvent :
System.Web.Management.WebFailureAuditEvent
{
private string customCreatedMsg, customRaisedMsg;
// Invoked in case of events identified only by their event code.
public SampleWebFailureAuditEvent(string msg, object eventSource,
int eventCode):
base(msg, eventSource, eventCode)
{
// Perform custom initialization.
customCreatedMsg =
string.Format("Event created at: {0}",
DateTime.Now.TimeOfDay.ToString());
}
// Invoked in case of events identified by their event code and
// event detailed code.
public SampleWebFailureAuditEvent(string msg, object eventSource,
int eventCode, int detailedCode):
base(msg, eventSource, eventCode, detailedCode)
{
// Perform custom initialization.
customCreatedMsg =
string.Format("Event created at: {0}",
DateTime.Now.TimeOfDay.ToString());
}
// Raises the SampleWebFailureAuditEvent.
public override void Raise()
{
// Perform custom processing.
customRaisedMsg =
string.Format("Event raised at: {0}",
DateTime.Now.TimeOfDay.ToString());
// Raise the event.
WebBaseEvent.Raise(this);
}
// Obtains the current thread information.
public WebRequestInformation GetRequestInformation()
{
// No customization is allowed.
return RequestInformation;
}
//Formats Web request event information.
//This method is invoked indirectly by the provider
//using one of the overloaded ToString methods.
public override void FormatCustomEventDetails(WebEventFormatter formatter)
{
base.FormatCustomEventDetails(formatter);
// Add custom data.
formatter.AppendLine("");
formatter.IndentationLevel += 1;
formatter.AppendLine(
"******** SampleWebFailureAuditEvent Start ********");
formatter.AppendLine(string.Format("Request path: {0}",
RequestInformation.RequestPath));
formatter.AppendLine(string.Format("Request Url: {0}",
RequestInformation.RequestUrl));
// Display custom event timing.
formatter.AppendLine(customCreatedMsg);
formatter.AppendLine(customRaisedMsg);
formatter.AppendLine(
"******** SampleWebFailureAuditEvent End ********");
formatter.IndentationLevel -= 1;
}
}
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
' Implements a custom WebFailureAuditEvent class.
Public Class SampleWebFailureAuditEvent
Inherits System.Web.Management.WebFailureAuditEvent
Private customCreatedMsg, customRaisedMsg As String
' Invoked in case of events identified only by their event code.
Public Sub New(ByVal msg As String, _
ByVal eventSource As Object, ByVal eventCode As Integer)
MyBase.New(msg, eventSource, eventCode)
' Perform custom initialization.
customCreatedMsg = String.Format("Event created at: {0}", _
DateTime.Now.TimeOfDay.ToString())
End Sub
' Invoked in case of events identified by their event code and
' event detailed code.
Public Sub New(ByVal msg As String, ByVal eventSource As Object, _
ByVal eventCode As Integer, ByVal detailedCode As Integer)
MyBase.New(msg, eventSource, eventCode, detailedCode)
' Perform custom initialization.
customCreatedMsg = String.Format("Event created at: {0}", _
DateTime.Now.TimeOfDay.ToString())
End Sub
' Raises the SampleWebFailureAuditEvent.
Public Overrides Sub Raise()
' Perform custom processing.
customRaisedMsg = String.Format("Event raised at: {0}", _
DateTime.Now.TimeOfDay.ToString())
' Raise the event.
WebBaseEvent.Raise(Me)
End Sub
' Obtains the current thread information.
Public Function GetRequestInformation() As WebRequestInformation
' No customization is allowed.
Return RequestInformation
End Function 'GetRequestInformation
'Formats Web request event information.
'This method is invoked indirectly by the provider
'using one of the overloaded ToString methods.
Public Overrides Sub FormatCustomEventDetails(ByVal formatter _
As WebEventFormatter)
MyBase.FormatCustomEventDetails(formatter)
' Add custom data.
formatter.AppendLine("")
formatter.IndentationLevel += 1
formatter.AppendLine("******** SampleWebFailureAuditEvent Start ********")
formatter.AppendLine(String.Format("Request path: {0}", _
RequestInformation.RequestPath))
formatter.AppendLine(String.Format("Request Url: {0}", _
RequestInformation.RequestUrl))
' Display custom event timing.
formatter.AppendLine(customCreatedMsg)
formatter.AppendLine(customRaisedMsg)
formatter.AppendLine("******** SampleWebFailureAuditEvent End ********")
formatter.IndentationLevel -= 1
End Sub
End Class
Následující úryvek konfigurace ukazuje, jak povolit ASP.NET použít událost WebFailureAuditEvent.
<healthMonitoring
enabled="true"
heartBeatInterval="0">
<providers>
<add name="EventLogProvider"
type="System.Web.Management.EventLogWebEventProvider,
System.Web,Version=2.0.3600.0,Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
<eventMappings>
<add name="SampleWebFailureAuditEvent"
type="SamplesAspNet.SampleWebFailureAuditEvent,
webfailureauditevent,Version=1.0.1663.31140,
Culture=neutral,
PublicKeyToken=0d1fa0f69d94de96,
processorArchitecture=MSIL"/>
</eventMappings>
<rules>
<add name="Custom Failure Audit Default"
eventName=" SampleWebFailureAuditEvent "
provider="EventLogProvider"
profile="Default"/>
</rules>
</healthMonitoring>
Poznámky
ASP.NET monitorování stavu umožňuje provozním a provozním pracovníkům spravovat nasazené webové aplikace. Obor System.Web.Management názvů obsahuje typy událostí stavu zodpovědné za balení dat stavu aplikace a typů zprostředkovatelů zodpovědných za zpracování těchto dat. Obsahuje také podpůrné typy, které pomáhají při správě událostí stavu.
Třída WebFailureAuditEvent se používá v případě selhání operace zabezpečení. Příkladem je neúspěšná autorizace adresy URL pro webový požadavek.
Ve výchozím nastavení je ASP.NET nakonfigurována tak, aby vyvolala událost WebFailureAuditEvent pro následující funkce:
Autorizace souborů. ASP.NET se pokusí o autorizaci souborů pouze v případech, kdy je k požadavku přidružená identita Windows. Související kód auditu událostí je AuditFileAuthorizationFailure.
Autorizace adresy URL. To se řídí neoprávněnými pokusy o přístup k prostředku adresy URL. Neúspěšné pokusy anonymního uživatele nejsou auditovány, protože ve většině okolností je přijatelné selhání anonymního ověřování. Související kód auditu událostí je AuditUrlAuthorizationFailure.
Obecné neošetřené podmínky nebo neošetřené podmínky zabezpečení Následuje seznam kódů událostí souvisejících s těmito podmínkami:
Když dojde k vyvolání události WebFailureAuditEvent, monitorování stavu ASP.NET zvýší související čítač výkonu vyvolaných událostí selhání auditu a pak zkontroluje oddíl konfigurace healthMonitoring a určí, jestli se zprostředkovatelé přihlásí k odběru události. Pokud se poskytovatelé přihlásí k odběru události, ASP.NET událost odešle ke zpracování.
Note
Zobrazení čítače selhání auditu vyvolaných událostmi výkonu v nástroji Sledování systému (PerfMon) v okně Přidat čítače, V rozevíracím seznamu >Výkonek výkonu vyberte ASP.NETVyvolaných událostí selháníAudit čítač výkonu. a klikněte na tlačítko Přidat.
Note
Ve většině případů budete moct používat typy monitorování stavu ASP.NET, které jsou implementované, a systém monitorování stavu budete řídit zadáním hodnot v části konfigurace healthMonitoring. Můžete také odvodit z typů monitorování stavu a vytvořit vlastní události a zprostředkovatele. Příklad odvození z WebFailureAuditEvent třídy naleznete v části Příklad.
Poznámky pro dědice
Při formátování informací o vlastní události pro zobrazení přepište metodu FormatCustomEventDetails(WebEventFormatter)ToString místo metody. Tím se zabrání přepsání nebo manipulaci s citlivými informacemi o systému.
Konstruktory
| Name | Description |
|---|---|
| WebFailureAuditEvent(String, Object, Int32, Int32) |
Inicializuje novou instanci WebFailureAuditEvent třídy pomocí zadaných parametrů. |
| WebFailureAuditEvent(String, Object, Int32) |
Inicializuje novou instanci WebFailureAuditEvent třídy pomocí zadaných parametrů. |
Vlastnosti
| Name | Description |
|---|---|
| EventCode |
Získá hodnotu kódu přidruženou k události. (Zděděno od WebBaseEvent) |
| EventDetailCode |
Získá kód podrobností události. (Zděděno od WebBaseEvent) |
| EventID |
Získá identifikátor přidružený k události. (Zděděno od WebBaseEvent) |
| EventOccurrence |
Získá čítač, který představuje počet výskytů události. (Zděděno od WebBaseEvent) |
| EventSequence |
Získá počet vyvolání události aplikací. (Zděděno od WebBaseEvent) |
| EventSource |
Získá objekt, který vyvolá událost. (Zděděno od WebBaseEvent) |
| EventTime |
Získá čas, kdy byla událost vyvolána. (Zděděno od WebBaseEvent) |
| EventTimeUtc |
Získá čas, kdy byla událost vyvolána. (Zděděno od WebBaseEvent) |
| Message |
Získá zprávu, která popisuje událost. (Zděděno od WebBaseEvent) |
| ProcessInformation |
Získá informace o ASP.NET procesu hostování aplikací. (Zděděno od WebManagementEvent) |
| RequestInformation |
Získejte informace přidružené k webové žádosti. (Zděděno od WebAuditEvent) |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| FormatCustomEventDetails(WebEventFormatter) |
Poskytuje standardní formátování informací o události. (Zděděno od WebBaseEvent) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IncrementPerfCounters() |
Zvýší čítač výkonu událostí selhání auditu. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Raise() |
Vyvolá událost oznámením libovolného nakonfigurovaného zprostředkovatele, že došlo k události. (Zděděno od WebBaseEvent) |
| ToString() |
Formátuje informace o událostech pro účely zobrazení. (Zděděno od WebBaseEvent) |
| ToString(Boolean, Boolean) |
Formátuje informace o událostech pro účely zobrazení. (Zděděno od WebBaseEvent) |