Java RMI java.security.AccessControlException:访问被拒绝

时间:2012-07-15 09:19:42

标签: java rmi

我正在用Java RMI编写一个客户端服务器程序,我收到一个错误:

  

java.security.AccessControlException:拒绝访问(“java.net.SocketPermission”“127.0.0.1:1099”“connect,resolve”)

我的代码如下所示:

package xxx;

import java.rmi.Naming;
import java.rmi.RemoteException;

public class Server extends Engine implements RemoteInterface {

public Server() {
    super();

    if(System.getSecurityManager() == null) {
        System.setSecurityManager(new SecurityManager());
    }

    try {
        Naming.rebind("Test", this);

        System.out.println("Bound in registry!");
    } catch(Exception ex) {
        System.out.println(ex);
    }
}

@Override
public void test() throws RemoteException {
    System.out.println("test() invoked");
}
}

怎么了?

2 个答案:

答案 0 :(得分:1)

我忘了添加注册表并实现Serializable。问题解决了。我还删除了SecurityManager。

答案 1 :(得分:0)

您已经安装了SecurityManager,但是您没有授予自己足够的权限来执行此代码。

为什么你认为你需要一个SecurityManager?除非你打算运行上传的代码,否则我会摆脱它