[英]Java RMI java.security.AccessControlException: access denied
[英]java.security.AccessControlException: access denied in Java RMI Telephone Directory
我出於學術目的通過互聯網獲得了此資源。 它只是Java RMI的實用工具。 我在這里發布服務器文件的代碼。
import java.io.*;
import java.util.*;
import java.rmi.*;
import java.rmi.server.*;
public class LookupServer extends UnicastRemoteObject implements Lookup {
private Vector save = new Vector();
public LookupServer(String db) throws RemoteException
{
try {
FileReader fr = new FileReader(db);
BufferedReader br = new BufferedReader(fr);
String s = null;
while ((s = br.readLine()) != null)
save.addElement(s);
fr.close();
}
catch (Throwable e) {
System.err.println("Exception in Lookupserver():"+e);
System.exit(1);
}
}
public String findInfo(String info)
{
if (info == null)
return null;
info = info.toLowerCase();
int n = save.size();
for (int i = 0; i < n; i++) {
String dbs = (String)save.elementAt(i);
if (dbs.toLowerCase().indexOf(info) != -1)
return dbs;
}
return null;
}
public static void main(String args[])
{
try {
RMISecurityManager security = new RMISecurityManager();
System.setSecurityManager(security);
String db = args[0];
LookupServer server = new LookupServer(db);
Naming.rebind("LookupServer", server);
System.err.println("LookupServer ready...");
}
catch (Throwable e) {
System.err.println("Exception in main: " + e);
System.exit(1);
}
}
}
我的政策文件(policy.policy)包括
grant
{
// Allow everything for now
permission java.security.AllPermission;
};
現在我被困在:
C:/> java LookupServer Database.txt java.security.policy = policy.policy
main中的異常:java.security.AccessControlException:訪問被拒絕(java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
請幫我...!
應使用-D
而不是參數將策略文件作為屬性傳遞
C:/>java -Djava.security.policy=policy.policy LookupServer Database.txt
親愛的,謝謝
實際上,我已經閱讀了RMI的ppts和pdf文件,並且了解了運行和編譯程序的知識。 幾乎所有文檔都建議我將-D作為屬性而不是參數。 但是當我這樣做時,它給了我訪問異常的錯誤消息。 然后,我將策略文件放置在C驅動器中,並使用了以下命令
C:/> java -Djava.security.policy = C:/policy.policy LookupServer Database.txt
而且工作正常... :)我的RMI應用程序正在成功運行。 感謝您的答復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.