rmi java.security.policy access denied

java, permissions, rmi, server

Solution

I had the same problem. I have fixed it following these steps:

- I have created a policy file, I named it `security.policy`

with the following content

grant {
    // Allow everything for now
    permission java.security.AllPermission;
};

2- Add the following line of code just before binding the remote object to the `rmiregistry`.

`System.setProperty("java.security.policy","file:./security.policy");`

Problem

I am new to RMI topic in java and i wana to create client server applicaiton using RMI, i followed this tutorial found in this link : RMI Tutorial using eclipse but i am using netbeans ,and here is server code: ``` import java.rmi.*; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.rmi.server.*; public class AdditionServer { public static void main (String[] argv) { try { if (System.getSecurityManager() == null) { System.setSecurityManager(new SecurityManager()); } String policy="file:/home/user/NetBeansProjects/RMIServerSide/security.policy"; System.setProperty("java.security.policy",policy); Addition Hello = new Addition(); System.out.println("test\n"); Registry reg=LocateRegistry.createRegistry(1099); reg.rebind("rmi://localhost/ABC", Hello); System.out.println("Addition Server is ready."); }catch (Exception e) { System.out.println("Addition Server failed: " + e); } } } ``` and here security.policy : ``` grant codeBase "/home/user/NetBeansProjects/RMIServerSide/build/classes/" { permission java.security.AllPermission; }; ``` then i run the rmiregistry & in the terminal. then i run the server and here what is the output exactly : ``` Addition Server failed: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.security.policy" "write") ``` Is there something i miss it, like a config for vm or something ???.....

Original source