Class AccessControlUtils
java.lang.Object
org.apache.synapse.mediators.bsf.access.control.AccessControlUtils
Utility methods related to Script Mediator access control.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.graalvm.polyglot.Context.BuildercreateSecureGraalContext(org.apache.synapse.script.access.AccessControlConfig classAccessControlConfig) Creates a GraalVM Context.Builder with security restrictions applied as per the provided AccessControlConfig.static booleanisAccessAllowed(String string, org.apache.synapse.script.access.AccessControlConfig accessControlConfig, Comparator<String> comparator) Returns whether the provided string which represents a Java class or native object is accessible or not.
-
Constructor Details
-
AccessControlUtils
public AccessControlUtils()
-
-
Method Details
-
isAccessAllowed
public static boolean isAccessAllowed(String string, org.apache.synapse.script.access.AccessControlConfig accessControlConfig, Comparator<String> comparator) Returns whether the provided string which represents a Java class or native object is accessible or not. The allowing/blocking will be determined by the provided AccessControlConfig, based on the matching/comparing done as specified in the comparator.- Parameters:
string- Java class name or native object name.accessControlConfig- Access control config of the Script Mediator.comparator- The comparator based on which, the provided Java class/native object name is matched against the provided access control config.- Returns:
- Whether the access is allowed or not.
-
createSecureGraalContext
public static org.graalvm.polyglot.Context.Builder createSecureGraalContext(org.apache.synapse.script.access.AccessControlConfig classAccessControlConfig) Creates a GraalVM Context.Builder with security restrictions applied as per the provided AccessControlConfig. Since we have used Nashorn compatibility mode, we need to allow experimental options and set the other parameters as below which were the defaults when using the GraalJSEngineFactory directly.- Parameters:
classAccessControlConfig- Access control config related to Java class access- Returns:
- Context.Builder with security restrictions applied
-