0

我正在使用 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");
}
}

怎么了?

4

2 回答 2

1

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

于 2012-07-15T13:03:45.583 回答
0

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

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

于 2012-07-15T10:25:53.057 回答