JavaSoft’s access control
User or administrator sets logical groupings and permissions
- Java runtime maps code to permissions (java.security.Policy)
- an execution thread may involve both an application domain and the system domain (e.g., for I/O)
- “protection domains”
Protect rights with least-privilege principle
doPrivileged() method in AccessController
- replaced beginPrivileged/endPrivileged from JDK 1.2b3
- create a hole in the scope of callers on the stack