public class PolicySecurityController extends SecurityController
Policy in effect. When you use
this security controller, your securityDomain objects must be instances of
CodeSource representing the location from where you load your
scripts. Any Java policy "grant" statements matching the URL and certificate
in code sources will apply to the scripts. If you specify any certificates
within your CodeSource objects, it is your responsibility to verify
(or not) that the script source files are signed in whatever
implementation-specific way you're using.| Modifier and Type | Class and Description |
|---|---|
static class |
PolicySecurityController.SecureCaller |
| Constructor and Description |
|---|
PolicySecurityController() |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
callWithDomain(java.lang.Object securityDomain,
Context cx,
Callable callable,
Scriptable scope,
Scriptable thisObj,
java.lang.Object[] args)
Call
Callable.call(Context cx, Scriptable scope, Scriptable thisObj, Object[] args)
of callable under restricted security domain where an action is
allowed only if it is allowed according to the Java stack on the moment
of the execWithDomain call and securityDomain. |
GeneratedClassLoader |
createClassLoader(java.lang.ClassLoader parent,
java.lang.Object securityDomain)
Get class loader-like object that can be used to define classes with the
given security context.
|
java.lang.Object |
getDynamicSecurityDomain(java.lang.Object securityDomain)
Get dynamic security domain that allows an action only if it is allowed
by the current Java stack and securityDomain.
|
java.lang.Class<?> |
getStaticSecurityDomainClassInternal() |
createLoader, execWithDomain, getStaticSecurityDomainClass, hasGlobal, initGlobalpublic java.lang.Class<?> getStaticSecurityDomainClassInternal()
getStaticSecurityDomainClassInternal in class SecurityControllerpublic GeneratedClassLoader createClassLoader(java.lang.ClassLoader parent, java.lang.Object securityDomain)
SecurityControllercreateClassLoader in class SecurityControllerparent - parent class loader to delegate search for classes not defined
by the class loader itselfsecurityDomain - some object specifying the security context of the code that
is defined by the returned class loader.public java.lang.Object getDynamicSecurityDomain(java.lang.Object securityDomain)
SecurityControllergetDynamicSecurityDomain in class SecurityControllerpublic java.lang.Object callWithDomain(java.lang.Object securityDomain,
Context cx,
Callable callable,
Scriptable scope,
Scriptable thisObj,
java.lang.Object[] args)
SecurityControllerCallable.call(Context cx, Scriptable scope, Scriptable thisObj, Object[] args)
of callable under restricted security domain where an action is
allowed only if it is allowed according to the Java stack on the moment
of the execWithDomain call and securityDomain. Any call to
SecurityController.getDynamicSecurityDomain(Object) during execution of
callable.call(cx, scope, thisObj, args) should return a domain
incorporate restrictions imposed by securityDomain and Java stack
on the moment of callWithDomain invocation.
The method should always be overridden, it is not declared abstract for compatibility reasons.
callWithDomain in class SecurityController