﻿<?xml version="1.0" encoding="utf-8"?><Type Name="PrincipalPermissionAttribute" FullName="System.Security.Permissions.PrincipalPermissionAttribute"><TypeSignature Maintainer="auto" Language="C#" Value="public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute" /><TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed beforefieldinit PrincipalPermissionAttribute extends System.Security.Permissions.CodeAccessSecurityAttribute" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Base><BaseTypeName>System.Security.Permissions.CodeAccessSecurityAttribute</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.All, AllowMultiple=true, Inherited=false)</AttributeName></Attribute><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="T:System.Security.Permissions.PrincipalPermissionAttribute" /> can be used to declaratively demand that users running your code belong to a specified role or have been authenticated. Use of <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" /> creates a <see cref="T:System.Security.Permissions.PrincipalPermission" /> with <see cref="P:System.Security.Permissions.PrincipalPermissionAttribute.Authenticated" /> set to true and <see cref="P:System.Security.Permissions.PrincipalPermissionAttribute.Name" /> and <see cref="P:System.Security.Permissions.PrincipalPermissionAttribute.Role" /> set to null.</para><para>The scope of the declaration that is allowed depends on the <see cref="T:System.Security.Permissions.SecurityAction" /> that is used. <see cref="T:System.Security.Permissions.PrincipalPermissionAttribute" /> cannot be applied at the assembly level.</para><para>The security information declared by a security attribute is stored in the metadata of the attribute target and is accessed by the system at run time. Security attributes are used only for declarative security. For imperative security, use the corresponding permission class.</para><block subset="none" type="note"><para>Before you use this class to demand principal permission, you must set the current application domain's principal policy to the enumeration value <see cref="F:System.Security.Principal.PrincipalPolicy.WindowsPrincipal" />. By default, the principal policy is set to <see cref="F:System.Security.Principal.PrincipalPolicy.UnauthenticatedPrincipal" />. If you do not set the principal policy to <see cref="F:System.Security.Principal.PrincipalPolicy.WindowsPrincipal" />, a demand for principal permission will fail. The following code should be executed before the principal permission is demanded: AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Allows security actions for <see cref="T:System.Security.Permissions.PrincipalPermission" /> to be applied to code using declarative security. This class cannot be inherited.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PrincipalPermissionAttribute (System.Security.Permissions.SecurityAction action);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Security.Permissions.SecurityAction action) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="action" Type="System.Security.Permissions.SecurityAction" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Demand, InheritanceDemand, and LinkDemand are the only values of <see cref="T:System.Security.Permissions.SecurityAction" /> that have meaning for this attribute. Other actions do not apply to permissions that are not code access permissions.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Permissions.PrincipalPermissionAttribute" /> class with the specified <see cref="T:System.Security.Permissions.SecurityAction" />.</para></summary><param name="action"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Security.Permissions.SecurityAction" /> values. </param></Docs></Member><Member MemberName="Authenticated"><MemberSignature Language="C#" Value="public bool Authenticated { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance bool Authenticated" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets a value indicating whether the current principal has been authenticated by the underlying role-based security provider.</para></summary></Docs></Member><Member MemberName="CreatePermission"><MemberSignature Language="C#" Value="public override System.Security.IPermission CreatePermission ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Security.IPermission CreatePermission() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Security.IPermission</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method should only be called by the security system, never by application code.</para><para>At compile time, attributes convert security declarations to a serialized form in metadata. Declarative security data in metadata is created from the permission that this method returns that corresponds to this attribute.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates and returns a new <see cref="T:System.Security.Permissions.PrincipalPermission" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.Security.Permissions.PrincipalPermission" /> that corresponds to this attribute.</para></returns></Docs></Member><Member MemberName="Name"><MemberSignature Language="C#" Value="public string Name { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance string Name" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the authentication provider is Windows NT, <see cref="P:System.Security.Permissions.PrincipalPermissionAttribute.Name" /> is the same as the user's Windows NT login name (in the form "DomainName\UserName"). Check the documentation of your host to determine which authentication provider it uses and how it determines the identity of the current principal.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the name of the identity associated with the current principal.</para></summary></Docs></Member><Member MemberName="Role"><MemberSignature Language="C#" Value="public string Role { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance string Role" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The available roles will differ based on the authentication provider in use by the host. If the authentication provider is Windows NT, roles are Windows NT user groups (in the form "DomainName\GroupName"). Check the documentation of your host to determine which authentication provider it uses and what roles users can belong to.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets membership in a specified security role.</para></summary></Docs></Member></Members></Type>