PermissionSet | ECMA 1.0, serializable |
System.Security (mscorlib.dll) | class |
public class PermissionSet : ISecurityEncodable, ICollection, IEnumerable, IStackWalk,
System.Runtime.Serialization.IDeserializationCallback {
// Public Constructors
public PermissionSet(PermissionSet permSet);
public PermissionSet(System.Security.Permissions.PermissionState state);
// Public Instance Properties
public virtual int Count{get;
// implements ICollection
public virtual bool IsReadOnly{get; }
public virtual bool IsSynchronized{get;
// implements ICollection
public virtual object SyncRoot{get;
// implements ICollection
// Public Static Methods
public static byte[ ] ConvertPermissionSet(string inFormat, byte[ ] inData, string outFormat);
// Public Instance Methods
public virtual IPermission AddPermission(IPermission perm);
public virtual void Assert( );
// implements IStackWalk
public bool ContainsNonCodeAccessPermissions( );
public virtual PermissionSet Copy( );
public virtual void CopyTo(Array array, int index);
// implements ICollection
public virtual void Demand( );
// implements IStackWalk
public virtual void Deny( );
// implements IStackWalk
public virtual void FromXml(SecurityElement et);
// implements ISecurityEncodable
public virtual IEnumerator GetEnumerator( );
// implements IEnumerable
public virtual IPermission GetPermission(Type permClass);
public virtual PermissionSet Intersect(PermissionSet other);
public virtual bool IsEmpty( );
public virtual bool IsSubsetOf(PermissionSet target);
public virtual bool IsUnrestricted( );
public virtual void PermitOnly( );
// implements IStackWalk
public virtual IPermission RemovePermission(Type permClass);
public virtual IPermission SetPermission(IPermission perm);
public override string ToString( );
// overrides object
public virtual SecurityElement ToXml( );
// implements ISecurityEncodable
public virtual PermissionSet Union(PermissionSet other);
}
The PermissionSet class is a container for groups
of IPermission objects. It implements the
IStackWalk interface and independently implements
the Copy( ), Demand( ),
Intersect( ), IsSubsetOf( ),
and Union( ) methods, which mirror those defined
by the IPermission interface. This functionality
allows a PermissionSet object to be treated as an
individual IPermission object for imperative
security operations, but the security operation is performed on all
contained IPermission objects at once.
The contents of a PermissionSet are configured
using the AddPermission( ),
RemovePermission( ), and SetPermission(
) methods. Only one of each permission type can be present
in a PermissionSet at a time. When you call
AddPermission( ), if a permission of the same type
already exists in the PermissionSet, the existing
IPermission is replaced by a new
IPermission whose value is calculated as the union
of the existing and new IPermission objects.
Conversely, SetPermission( ) replaces the existing
permission with the specified one. The GetPermission(
) method returns a copy of the
IPermission of the specified
System.Type if one exists in the
PermissionSet.
Subclasses
NamedPermissionSet
Returned By
NamedPermissionSet.Copy( ),
System.Security.Permissions.PermissionSetAttribute.CreatePermissionSet(
),
System.Security.Policy.PermissionRequestEvidence.{DeniedPermissions,
OptionalPermissions,
RequestedPermissions},
System.Security.Policy.PolicyStatement.PermissionSet,
SecurityManager.ResolvePolicy( )
Passed To
System.AppDomain.DefineDynamicAssembly( ),
System.IO.IsolatedStorage.IsolatedStorage.GetPermission(
),
System.Reflection.Emit.ConstructorBuilder.AddDeclarativeSecurity(
),
System.Reflection.Emit.MethodBuilder.AddDeclarativeSecurity(
),
System.Reflection.Emit.TypeBuilder.AddDeclarativeSecurity(
), NamedPermissionSet.NamedPermissionSet(
),
System.Security.Policy.PermissionRequestEvidence.PermissionRequestEvidence(
),
System.Security.Policy.PolicyLevel.ChangeNamedPermissionSet(
),
System.Security.Policy.PolicyStatement.{PermissionSet,
PolicyStatement( )},
SecurityManager.ResolvePolicy( ),
System.Xml.XmlSecureResolver.XmlSecureResolver( )
|