<html dir="LTR">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>SecurityContextProvider Class</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />
  </head>
  <body id="bodyID" class="dtBODY">
    <div id="nsbanner">
      <div id="bannerrow1">
        <table class="bannerparthead" cellspacing="0">
          <tr id="hdr">
            <td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td>
            <td class="product">
            </td>
          </tr>
        </table>
      </div>
      <div id="TitleRow">
        <h1 class="dtH1">SecurityContextProvider Class</h1>
      </div>
    </div>
    <div id="nstext">
      <p> The <b>SecurityContextProvider</b> providers default <a href="log4net.Core.SecurityContext.html">SecurityContext</a> instances. </p>
      <p>For a list of all members of this type, see <a href="log4net.Core.SecurityContextProviderMembers.html">SecurityContextProvider Members</a>.</p>
      <p>
        <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">System.Object</a>
        <br />���<b>log4net.Core.SecurityContextProvider</b></p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Public�Class�SecurityContextProvider</div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <div>public�class�SecurityContextProvider</div>
      </div>
      <H4 class="dtH4">Thread Safety</H4>
      <P>Public static (<b>Shared</b> in Visual Basic) members of this type are 
				safe for multithreaded operations. Instance members are <b>not</b> guaranteed to be 
				thread-safe.</P>
      <h4 class="dtH4">Remarks</h4>
            <p> A configured component that interacts with potentially protected system resources uses a <a href="log4net.Core.SecurityContext.html">SecurityContext</a> to provide the elevated privileges required. If the <b>SecurityContext</b> object has been not been explicitly provided to the component then the component will request one from this <b>SecurityContextProvider</b>. </p>
            <p> By default the <a href="log4net.Core.SecurityContextProvider.DefaultProvider.html">DefaultProvider</a> is an instance of <b>SecurityContextProvider</b> which returns only <a href="log4net.Util.NullSecurityContext.html">NullSecurityContext</a> objects. This is a reasonable default where the privileges required are not know by the system. </p>
            <p> This default behavior can be overridden by subclassing the <b>SecurityContextProvider</b> and overriding the <a href="log4net.Core.SecurityContextProvider.CreateSecurityContext.html">CreateSecurityContext</a> method to return the desired <b>SecurityContext</b> objects. The default provider can be replaced by programmatically setting the value of the <b>DefaultProvider</b> property. </p>
            <p> An alternative is to use the <code>log4net.Config.SecurityContextProviderAttribute</code> This attribute can be applied to an assembly in the same way as the <code>log4net.Config.XmlConfiguratorAttribute"</code>. The attribute takes the type to use as the <b>SecurityContextProvider</b> as an argument. </p>
            <h4 class="dtH4">Requirements</h4><p><b>Namespace: </b><a href="log4net.Core.html">log4net.Core</a></p><p><b>Assembly: </b>log4net (in log4net.dll)
					</p><h4 class="dtH4">See Also</h4><p><a href="log4net.Core.SecurityContextProviderMembers.html">SecurityContextProvider Members</a> | <a href="log4net.Core.html">log4net.Core Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="SecurityContextProvider class, about SecurityContextProvider class"></param></object><hr /><div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2011 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div></div>
  </body>
</html>
