我正在爲公司內部使用編寫一個java webstart應用程序。它使用JSch連接並允許端口轉發到我們的數據中心之一的服務器。我不希望用戶每次看到這個消息時,運行應用程序:阻止Java從請求權限接受連接
http://img33.imageshack.us/img33/5103/permissionsr.jpg
有什麼辦法我取消此消息?
我正在爲公司內部使用編寫一個java webstart應用程序。它使用JSch連接並允許端口轉發到我們的數據中心之一的服務器。我不希望用戶每次看到這個消息時,運行應用程序:阻止Java從請求權限接受連接
http://img33.imageshack.us/img33/5103/permissionsr.jpg
有什麼辦法我取消此消息?
您是否確實需要從程序外部轉發連接,或者您的程序本身是唯一使用轉發端口的連接?
如果前者,沒有什麼可以做的。您可能會嘗試以不同的方式配置權限,但是您會針對這些權限提出問題。或者您可以在客戶端的JRE上設置權限,但我不確定這將如何完成。
如果Webstart的程序本身正試圖通過SSH連接來訪問內部服務器,目前正在建立一個socket到你的JSch會話監聽本地端口,你可以做的更好:
與其打開的一個Socket,打開一個direct-tcp channel並使用它的輸入和輸出流。現在沒有本地端口需要打開,並且沒有安全問題。
ChannelDirectTCPIP channel = (ChannelDirectTCPIP)gateway.openChannel("direct-tcpip");
channel.setHost(host);
channel.setPort(port);
// important: first create the streams, then connect.
InputStream iStream = channel.getInputStream();
OutputStream oStream = channel.getOutputStream();
channel.connect();
// now write to oStream and read from iStream
我用它通過另一個JSch會話來隧道JSch會話,see my ProxySSH example。
多酷,謝謝你的這個想法 – 2013-05-13 16:11:28
您是否確實需要從程序外部轉發連接,或者您的程序本身是唯一使用轉發端口的連接? – 2013-05-11 16:29:15