Java Reference
In-Depth Information
23.5.2. Permissions
Permissions fall into a number of categories, each managed by a partic-
ular class, for example:
•
File
java.io.FilePermission
•
Network
java.net.NetPermission
•
Properties
java.util.PropertyPermission
•
Reflection
java.lang.reflect.ReflectPermission
•
Runtime
java.lang.RuntimePermission
•
Security
java.security.SecurityPermission
•
Serialization
java.io.SerializablePermission
•
Sockets
java.net.SocketPermission
All but
FilePermission
and
SocketPermission
are subclasses of
java.security.BasicPermission
, which itself is an abstract subclass of
the top-level class for permissions, which is
java.security.Permission
.
BasicPermission
defines a simple permission based on the name. For ex-
ample, the
RuntimePermission
with name
"exitVM"
represents the permis-
sion to invoke
Runtime.exit
to shutdown the virtual machine. Here are
some other basic
RuntimePermission
names and what they represent:
•
"createClassLoader"
Invoke the
ClassLoader
constructors.
•
"setSecurityManager"
Invoke
System.setSecurityManager
.
•
"modifyThread"
Invoke
Thread
methods
interrupt
,
setPriority
,
setDaemon
, or
setName
.
Basic permissions are something you either have or you don't. The
names for basic permissions follow the hierarchical naming scheme used