Class ThreadAwareSecurityManager


  • public final class ThreadAwareSecurityManager
    extends java.lang.SecurityManager
    Custom SecurityManager and Policy implementation that only performs access checks if explicitly enabled.

    This implementation gives no measurable performance penalty (see see cstar test). This is better than the penalty of 1 to 3 percent using a standard SecurityManager with an allow all policy.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.security.PermissionCollection noPermissions  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void checkAccess​(java.lang.Thread t)  
      void checkAccess​(java.lang.ThreadGroup g)  
      void checkPackageAccess​(java.lang.String pkg)  
      void checkPermission​(java.security.Permission perm)  
      void checkPermission​(java.security.Permission perm, java.lang.Object context)  
      static void install()  
      static boolean isSecuredThread()  
      • Methods inherited from class java.lang.SecurityManager

        checkAccept, checkConnect, checkConnect, checkCreateClassLoader, checkDelete, checkExec, checkExit, checkLink, checkListen, checkMulticast, checkMulticast, checkPackageDefinition, checkPrintJobAccess, checkPropertiesAccess, checkPropertyAccess, checkRead, checkRead, checkRead, checkSecurityAccess, checkSetFactory, checkWrite, checkWrite, getClassContext, getSecurityContext, getThreadGroup
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • noPermissions

        public static final java.security.PermissionCollection noPermissions
    • Method Detail

      • install

        public static void install()
      • isSecuredThread

        public static boolean isSecuredThread()
      • checkAccess

        public void checkAccess​(java.lang.Thread t)
        Overrides:
        checkAccess in class java.lang.SecurityManager
      • checkAccess

        public void checkAccess​(java.lang.ThreadGroup g)
        Overrides:
        checkAccess in class java.lang.SecurityManager
      • checkPermission

        public void checkPermission​(java.security.Permission perm)
        Overrides:
        checkPermission in class java.lang.SecurityManager
      • checkPermission

        public void checkPermission​(java.security.Permission perm,
                                    java.lang.Object context)
        Overrides:
        checkPermission in class java.lang.SecurityManager
      • checkPackageAccess

        public void checkPackageAccess​(java.lang.String pkg)
        Overrides:
        checkPackageAccess in class java.lang.SecurityManager