HostProtectionAttribute.SecurityInfrastructure Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets a value indicating whether the security infrastructure is exposed.
public:
property bool SecurityInfrastructure { bool get(); void set(bool value); };
public bool SecurityInfrastructure { get; set; }
[System.Runtime.InteropServices.ComVisible(true)]
public bool SecurityInfrastructure { get; set; }
member this.SecurityInfrastructure : bool with get, set
[<System.Runtime.InteropServices.ComVisible(true)>]
member this.SecurityInfrastructure : bool with get, set
Public Property SecurityInfrastructure As Boolean
Property Value
true
if the security infrastructure is exposed; otherwise, false
. The default is false
.
- Attributes
Examples
The following code example illustrates the use of the HostProtectionAttribute attribute with the SecurityInfrastructure property. This example is part of a larger example provided for the HostProtectionAttribute class.
// Use the enumeration flags to indicate that this method exposes shared state,
// self-affecting threading and the security infrastructure.
// ApplyIdentity sets the current identity.
[HostProtection(SharedState=true,SelfAffectingThreading=true,
SecurityInfrastructure=true)]
static int ApplyIdentity()
{
array<String^>^roles = {"User"};
try
{
AppDomain^ mAD = AppDomain::CurrentDomain;
GenericPrincipal^ mGenPr = gcnew GenericPrincipal( WindowsIdentity::GetCurrent(),roles );
mAD->SetPrincipalPolicy( PrincipalPolicy::WindowsPrincipal );
mAD->SetThreadPrincipal( mGenPr );
return Success;
}
catch ( Exception^ e )
{
Exit( e->ToString(), 5 );
}
return 0;
}
// Use the enumeration flags to indicate that this method exposes shared
// state, self-affecting threading, and the security infrastructure.
[HostProtectionAttribute(SharedState=true, SelfAffectingThreading=true,
SecurityInfrastructure=true)]
// ApplyIdentity sets the current identity.
private static int ApplyIdentity()
{
string[] roles = {"User"};
try
{
AppDomain mAD = AppDomain.CurrentDomain;
GenericPrincipal mGenPr =
new GenericPrincipal(WindowsIdentity.GetCurrent(), roles);
mAD.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
mAD.SetThreadPrincipal(mGenPr);
return Success;
}
catch (Exception e)
{
Exit(e.ToString(), 5);
}
return 0;
}
' Use the enumeration flags to indicate that this method exposes shared
' state, self-affecting threading, and the security infrastructure.
<HostProtectionAttribute(SharedState := True, _
SelfAffectingThreading := True, _
SecurityInfrastructure := True)> _
Private Shared Function ApplyIdentity() As Integer
' ApplyIdentity sets the current identity.
Dim roles(1) As String
Try
Dim mAD As AppDomain = AppDomain.CurrentDomain
Dim mGenPr As _
New GenericPrincipal(WindowsIdentity.GetCurrent(), roles)
mAD.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
mAD.SetThreadPrincipal(mGenPr)
Return Success
Catch e As Exception
[Exit](e.ToString(), 5)
End Try
Return 0
End Function 'ApplyIdentity
Remarks
The use of a WindowsIdentity object to impersonate a user is an example of exposing the security infrastructure.