Package org.apache.catalina.security
Class SecurityUtil
- java.lang.Object
-
- org.apache.catalina.security.SecurityUtil
-
public final class SecurityUtil extends Object
This utility class associates aSubjectto the currentAccessControlContext. When aSecurityManageris 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
-
-
Field Summary
Fields Modifier and Type Field Description static booleanexecuteUnderSubjectDoAsDo we need to execute all invokation under a Subject.doAs call.
-
Constructor Summary
Constructors Constructor Description SecurityUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voiddoAsPrivilege(String methodName, jakarta.servlet.Filter targetObject)Perform work as a particularSubject.static voiddoAsPrivilege(String methodName, jakarta.servlet.Filter targetObject, Class[] targetType, Object[] targetArguments, Principal principal)Perform work as a particularSubject.static voiddoAsPrivilege(String methodName, jakarta.servlet.Filter targetObject, Class<?>[] targetType, Object[] targetArguments)Perform work as a particularSubject.static voiddoAsPrivilege(String methodName, jakarta.servlet.Servlet targetObject)Perform work as a particularSubject.static voiddoAsPrivilege(String methodName, jakarta.servlet.Servlet targetObject, Class<?>[] targetType, Object[] targetArguments)Perform work as a particularSubject.static voiddoAsPrivilege(String methodName, jakarta.servlet.Servlet targetObject, Class<?>[] targetType, Object[] targetArguments, Principal principal)Perform work as a particularSubject.static booleanexecuteUnderSubjectDoAs()Return true if aSecurityManageris used and isisDoAsRequiredis required.static booleanisPackageProtectionEnabled()Return theSecurityManageronly if Security is enabled AND package protection mechanism is enabled.static voidremove(Object cachedObject)Remove the object from the cache.
-
-
-
Field Detail
-
executeUnderSubjectDoAs
public static final boolean executeUnderSubjectDoAs
Do we need to execute all invokation under a Subject.doAs call.- See Also:
- Constant Field Values
-
-
Method Detail
-
doAsPrivilege
public static void doAsPrivilege(String methodName, jakarta.servlet.Servlet targetObject) throws Exception
Perform work as a particularSubject. Here the work will be granted to anullsubject.- Parameters:
methodName- the method to apply the security restrictiontargetObject- theServleton which the method will be called.- Throws:
Exception
-
doAsPrivilege
public static void doAsPrivilege(String methodName, jakarta.servlet.Servlet targetObject, Class<?>[] targetType, Object[] targetArguments) throws Exception
Perform work as a particularSubject. Here the work will be granted to anullsubject.- Parameters:
methodName- the method to apply the security restrictiontargetObject- theServleton which the method will be called.targetType-Classarray used to instantiate a iMethodobject.targetObject-Objectarray contains the runtime parameters instance.- Throws:
Exception
-
doAsPrivilege
public static void doAsPrivilege(String methodName, jakarta.servlet.Servlet targetObject, Class<?>[] targetType, Object[] targetArguments, Principal principal) throws Exception
Perform work as a particularSubject. Here the work will be granted to anullsubject.- Parameters:
methodName- the method to apply the security restrictiontargetObject- theServleton which the method will be called.targetType-Classarray used to instantiate aMethodobject.targetArguments-Objectarray contains the runtime parameters instance.principal- thePrincipalto which the security privilege apply..- Throws:
Exception
-
doAsPrivilege
public static void doAsPrivilege(String methodName, jakarta.servlet.Filter targetObject) throws Exception
Perform work as a particularSubject. Here the work will be granted to anullsubject.- Parameters:
methodName- the method to apply the security restrictiontargetObject- theFilteron which the method will be called.- Throws:
Exception
-
doAsPrivilege
public static void doAsPrivilege(String methodName, jakarta.servlet.Filter targetObject, Class<?>[] targetType, Object[] targetArguments) throws Exception
Perform work as a particularSubject. Here the work will be granted to anullsubject.- Parameters:
methodName- the method to apply the security restrictiontargetObject- theFilteron which the method will be called.targetType-Classarray used to instantiate aMethodobject.targetArguments-Objectarray contains the runtime parameters instance.- Throws:
Exception
-
doAsPrivilege
public static void doAsPrivilege(String methodName, jakarta.servlet.Filter targetObject, Class[] targetType, Object[] targetArguments, Principal principal) throws Exception
Perform work as a particularSubject. Here the work will be granted to anullsubject.- Parameters:
methodName- the method to apply the security restrictiontargetObject- theFilteron which the method will be called.targetType-Classarray used to instantiate aMethodobject.targetArguments-Objectarray contains the runtime parameters instance.principal- thePrincipalto which the security privilege apply- Throws:
Exception
-
remove
public static void remove(Object cachedObject)
Remove the object from the cache.
-
isPackageProtectionEnabled
public static boolean isPackageProtectionEnabled()
Return theSecurityManageronly if Security is enabled AND package protection mechanism is enabled.
-
executeUnderSubjectDoAs
public static boolean executeUnderSubjectDoAs()
Return true if aSecurityManageris used and isisDoAsRequiredis required.
-
-