org.apache.cassandra.cql3.functions

## Class ThreadAwareSecurityManager

- java.lang.Object
- - java.lang.SecurityManager
  - - org.apache.cassandra.cql3.functions.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 panalty (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 inherited from class java.lang.SecurityManager

      `inCheck`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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()`

    - ### Methods inherited from class java.lang.SecurityManager

      `checkAccept, checkAwtEventQueueAccess, checkConnect, checkConnect, checkCreateClassLoader, checkDelete, checkExec, checkExit, checkLink, checkListen, checkMemberAccess, checkMulticast, checkMulticast, checkPackageDefinition, checkPrintJobAccess, checkPropertiesAccess, checkPropertyAccess, checkRead, checkRead, checkRead, checkSecurityAccess, checkSetFactory, checkSystemClipboardAccess, checkTopLevelWindow, checkWrite, checkWrite, classDepth, classLoaderDepth, currentClassLoader, currentLoadedClass, getClassContext, getInCheck, getSecurityContext, getThreadGroup, inClass, inClassLoader`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### install

          public static void install()

    - #### 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`

Copyright © 2018 The Apache Software Foundation