public class ApplicationSecurityEnforcer extends Object
SecurityManager
for an application
and resolves whether the application runs in a development
environment or from a jar file (in other words, it resolves code-base
issues for the application).
Modifier and Type | Field and Description |
---|---|
static String |
APP_MAIN_CLASS_DIR
Directory where classes are expanded in the development
version
|
protected Class |
appMainClass
The application's main entry point
|
protected String |
appMainClassRelativeURL
The resource name for the application's main class
|
static String |
EXCEPTION_ALIEN_SECURITY_MANAGER
Message for the SecurityException thrown when there is already
a SecurityManager installed at the time Squiggle tries
to install its own security settings.
|
static String |
EXCEPTION_NO_POLICY_FILE
Message for the NullPointerException thrown when no policy
file can be found.
|
static String |
JAR_PROTOCOL
Files in a jar file have a URL with the jar protocol
|
static String |
JAR_URL_FILE_SEPARATOR
Used in jar file urls to separate the jar file name
from the referenced file
|
protected BatikSecurityManager |
lastSecurityManagerInstalled
Keeps track of the last SecurityManager installed
|
static String |
PROPERTY_APP_DEV_BASE
System property for App's development base directory
|
static String |
PROPERTY_APP_JAR_BASE
System property for App's jars base directory
|
static String |
PROPERTY_JAVA_SECURITY_POLICY
System property for specifying an additional policy file.
|
protected String |
securityPolicy
The application's security policy
|
Constructor and Description |
---|
ApplicationSecurityEnforcer(Class appMainClass,
String securityPolicy)
Creates a new ApplicationSecurityEnforcer.
|
ApplicationSecurityEnforcer(Class appMainClass,
String securityPolicy,
String appJarFile)
Deprecated.
This constructor is now deprecated. Use the two
argument constructor instead as this version will
be removed after the 1.5beta4 release.
|
Modifier and Type | Method and Description |
---|---|
void |
enforceSecurity(boolean enforce)
Enforces security by installing a
SecurityManager . |
URL |
getPolicyURL()
Returns the url for the default policy.
|
void |
installSecurityManager()
Installs a SecurityManager on behalf of the application
|
public static final String EXCEPTION_ALIEN_SECURITY_MANAGER
public static final String EXCEPTION_NO_POLICY_FILE
public static final String PROPERTY_JAVA_SECURITY_POLICY
public static final String JAR_PROTOCOL
public static final String JAR_URL_FILE_SEPARATOR
public static final String PROPERTY_APP_DEV_BASE
public static final String PROPERTY_APP_JAR_BASE
public static final String APP_MAIN_CLASS_DIR
protected Class appMainClass
protected String securityPolicy
protected String appMainClassRelativeURL
protected BatikSecurityManager lastSecurityManagerInstalled
public ApplicationSecurityEnforcer(Class appMainClass, String securityPolicy, String appJarFile)
appMainClass
- class of the applications's main entry pointsecurityPolicy
- resource for the security policy which
should be enforced for the application.appJarFile
- the Jar file into which the application is
packaged.public ApplicationSecurityEnforcer(Class appMainClass, String securityPolicy)
appMainClass
- class of the applications's main entry pointsecurityPolicy
- resource for the security policy which
should be enforced for the application.public void enforceSecurity(boolean enforce)
SecurityManager
.
This will throw a SecurityException
if installing
a SecurityManager
requires overriding an existing
SecurityManager
. In other words, this method will
not install a new SecurityManager
if there is
already one it did not install in place.public URL getPolicyURL()
public void installSecurityManager()
Copyright © 2000–2023 Apache Software Foundation. All rights reserved.