1grant codeBase "file:NestedActionsTwoPrincipals.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,delete";
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 javax.security.auth.AuthPermission "modifyPrincipals";
20    permission java.util.PropertyPermission "java.class.path", "read";
21    permission java.io.FilePermission "NestedActions.tmp", "read,write";
22};
23
24grant codeBase "file:ReadFromFileAction.jar"
25        Principal javax.security.auth.x500.X500Principal "cn=Duke"{
26    permission javax.security.auth.AuthPermission "getSubject";
27    permission javax.security.auth.AuthPermission "doAs";
28    permission java.util.PropertyPermission "java.class.path", "read";
29    permission java.io.FilePermission "NestedActions.tmp", "read";
30};
31
32grant codeBase "file:ReadPropertyAction.jar"
33        Principal javax.security.auth.x500.X500Principal "cn=Java" {
34    permission javax.security.auth.AuthPermission "getSubject";
35    permission javax.security.auth.AuthPermission "doAs";
36    permission java.util.PropertyPermission "java.class.path", "read";
37};
38