[ Team LiB ] Previous Section Next Section

SecurityManager

System.Security (mscorlib.dll)sealed class
public sealed class SecurityManager {
// Public Static Properties
   public static bool CheckExecutionRights{set; get; }
   public static bool SecurityEnabled{set; get; }
// Public Static Methods
   public static bool IsGranted(IPermission perm);
   public static PolicyLevel LoadPolicyLevelFromFile(string path, PolicyLevelType type);
   public static PolicyLevel LoadPolicyLevelFromString(string str, PolicyLevelType type);
   public static IEnumerator PolicyHierarchy(  );
   public static PermissionSet ResolvePolicy(System.Security.Policy.Evidence evidence);
   public static PermissionSet ResolvePolicy(System.Security.Policy.Evidence evidence, 
PermissionSet reqdPset, PermissionSet optPset, 
PermissionSet denyPset, out PermissionSet denied);
   public static IEnumerator ResolvePolicyGroups(System.Security.Policy.Evidence evidence);
   public static void SavePolicy(  );
   public static void SavePolicyLevel(System.Security.Policy.PolicyLevel level);
}

This class contains a set of static members that provide access to critical security system functionality and data. It is the principal access point for code needing to manipulate security policy programmatically, providing access to the active policy levels and allowing code to load and save policy levels.

SecurityEnabled is a master switch for all code-access security; setting it to false turns off all code-access and identity permission checks, but does not affect role-based security. CheckExecutionRights controls whether the runtime checks to ensure code has the System.Security.Permissions.SecurityPermissionFlag.Execution permission from the System.Security.Permissions.SecurityPermission class.

Though it is not possible to drive the runtime's policy resolution process programmatically, the ResolvePolicy( ) and ResolvePolicyGroups( ) methods simulate the policy resolution process to resolve the permissions and code groups for a specified System.Security.Policy.Evidence collection. The IsGranted( ) method is a lightweight method for testing to see if the current code has been granted a specified permission, but is not a suitable substitute for the IPermission.Demand( ) or IStackWalk.Demand( ) methods for the general enforcement of code-access security.

    [ Team LiB ] Previous Section Next Section