1grant codeBase "file:NestedActionsOnePrincipal.jar" {
2    permission javax.security.auth.AuthPermission "getSubject";
3    permission javax.security.auth.AuthPermission "modifyPrincipals";
4    permission javax.security.auth.AuthPermission "doAs";
5    permission java.util.PropertyPermission "path.separator", "read";
6    permission java.util.PropertyPermission "file.separator", "read";
7    permission java.util.PropertyPermission "test.classes", "read";
8    permission java.util.PropertyPermission "test.src", "read";
9    permission java.util.PropertyPermission "test.java.opts", "read";
10    permission java.util.PropertyPermission "java.home", "read";
11    permission java.util.PropertyPermission "java.class.path", "read";
12    permission java.io.FilePermission "NestedActions.tmp", "read,write";
13};
14
15grant codeBase "file:WriteToFileAction.jar"
16        Principal javax.security.auth.x500.X500Principal "cn=Duke" {
17    permission javax.security.auth.AuthPermission "getSubject";
18    permission javax.security.auth.AuthPermission "doAs";
19    permission java.util.PropertyPermission "java.class.path", "read";
20    permission java.io.FilePermission "NestedActions.tmp", "read,write";
21};
22
23grant codeBase "file:ReadFromFileAction.jar"
24        Principal javax.security.auth.x500.X500Principal "cn=Duke" {
25    permission javax.security.auth.AuthPermission "getSubject";
26    permission javax.security.auth.AuthPermission "doAs";
27    permission java.util.PropertyPermission "java.class.path", "read";
28    permission java.io.FilePermission "NestedActions.tmp", "read";
29};
30
31grant codeBase "file:ReadPropertyAction.jar"
32        Principal javax.security.auth.x500.X500Principal "cn=Duke" {
33    permission javax.security.auth.AuthPermission "getSubject";
34    permission javax.security.auth.AuthPermission "doAs";
35    permission java.util.PropertyPermission "java.class.path", "read";
36};
37