## org.apache.catalina.security
Class SecurityUtil

    java.lang.Object
      org.apache.catalina.security.SecurityUtil

public final class SecurityUtil
extends java.lang.Object

This utility class associates a `Subject` to the current `AccessControlContext`. When a `SecurityManager` is used, * the container will always associate the called thread with an AccessControlContext * containing only the principal of the requested Servlet/Filter. This class uses reflection to invoke the invoke methods.

Author:
  Jean-Francois Arcand

Constructor Summary
`SecurityUtil()`

Method Summary
`static void` `doAsPrivilege(java.lang.String methodName, javax.servlet.Filter targetObject)` Perform work as a particular Subject.
`static void` `doAsPrivilege(java.lang.String methodName, javax.servlet.Filter targetObject, java.lang.Class[] targetType, java.lang.Object[] targetArguments)` Perform work as a particular Subject.
`static void` `doAsPrivilege(java.lang.String methodName, javax.servlet.Servlet targetObject)` Perform work as a particular Subject.
`static void` `doAsPrivilege(java.lang.String methodName, javax.servlet.Servlet targetObject, java.lang.Class[] targetType, java.lang.Object[] targetArguments)` Perform work as a particular Subject.
`static void` `doAsPrivilege(java.lang.String methodName, javax.servlet.Servlet targetObject, java.lang.Class[] targetType, java.lang.Object[] targetArguments, java.security.Principal principal)` Perform work as a particular Subject.
`static boolean` `isPackageProtectionEnabled()` Return the `SecurityManager` only if Security is enabled AND package protection mechanism is enabled.
`static void` `remove(java.lang.Object cachedObject)` Remove the object from the cache.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SecurityUtil

    public SecurityUtil()

Method Detail

### doAsPrivilege

    public static void doAsPrivilege(java.lang.String methodName,
                                     javax.servlet.Servlet targetObject)
                              throws java.lang.Exception

  Perform work as a particular Subject. Here the work will be granted to a `null` subject.

  Parameters:
    `methodName` - the method to apply the security restriction
    `targetObject` - the `Servlet` on which the method will be called.
  Throws:
    `java.lang.Exception`

### doAsPrivilege

    public static void doAsPrivilege(java.lang.String methodName,
                                     javax.servlet.Servlet targetObject,
                                     java.lang.Class[] targetType,
                                     java.lang.Object[] targetArguments)
                              throws java.lang.Exception

  Perform work as a particular Subject. Here the work will be granted to a `null` subject.

  Parameters:
    `methodName` - the method to apply the security restriction
    `targetObject` - the `Servlet` on which the method will be called.
    `targetType` - `Class` array used to instanciate a i `Method` object.
    `targetArguments` - `Object` array contains the runtime parameters instance.
  Throws:
    `java.lang.Exception`

### doAsPrivilege

    public static void doAsPrivilege(java.lang.String methodName,
                                     javax.servlet.Servlet targetObject,
                                     java.lang.Class[] targetType,
                                     java.lang.Object[] targetArguments,
                                     java.security.Principal principal)
                              throws java.lang.Exception

  Perform work as a particular Subject. Here the work will be granted to a `null` subject.

  Parameters:
    `methodName` - the method to apply the security restriction
    `targetObject` - the `Servlet` on which the method will be called.
    `targetType` - `Class` array used to instanciate a `Method` object.
    `targetArguments` - `Object` array contains the runtime parameters instance.
    `principal` - the `Principal` to which the security privilege apply..
  Throws:
    `java.lang.Exception`

### doAsPrivilege

    public static void doAsPrivilege(java.lang.String methodName,
                                     javax.servlet.Filter targetObject)
                              throws java.lang.Exception

  Perform work as a particular Subject. Here the work will be granted to a `null` subject.

  Parameters:
    `methodName` - the method to apply the security restriction
    `targetObject` - the `Filter` on which the method will be called.
  Throws:
    `java.lang.Exception`

### doAsPrivilege

    public static void doAsPrivilege(java.lang.String methodName,
                                     javax.servlet.Filter targetObject,
                                     java.lang.Class[] targetType,
                                     java.lang.Object[] targetArguments)
                              throws java.lang.Exception

  Perform work as a particular Subject. Here the work will be granted to a `null` subject.

  Parameters:
    `methodName` - the method to apply the security restriction
    `targetObject` - the `Filter` on which the method will be called.
    `targetType` - `Class` array used to instanciate a `Method` object.
    `targetArguments` - `Object` array contains the runtime parameters instance.
  Throws:
    `java.lang.Exception`

### remove

    public static void remove(java.lang.Object cachedObject)

  Remove the object from the cache.

  Parameters:
    `cachedObject` - The object to remove

### isPackageProtectionEnabled

    public static boolean isPackageProtectionEnabled()

  Return the `SecurityManager` only if Security is enabled AND package protection mechanism is enabled.

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.