Hallo,
ich habe folgenden Code:
Eigentlich läuft das ganze soweit, aber sobald Runtime.getRuntime().exec( "net use " + path) aufgerufen wird, bekomme ich "access denied (java.io.FilePermission <<ALL FILES>> execute)", obwohl ich das Applet signiert habe.
Der Aufruf von anderen Befehlen, z.B. Runtime.getRuntime().exec( "C:\WINDOWS\system32\notepad.exe ") funktioniert ohne Probleme. Warum kann kein net use ausgeführt werden?
Danke
chrissy
ich habe folgenden Code:
Java:
import java.applet.Applet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.security.AccessControlException;
import javax.swing.JFileChooser;
public class browser extends Applet
{
JFileChooser file;
public browser()
{
}
public static void main(String[] args)
{
browser browser = new browser();
browser.init();
browser.start();
}
public void start()
{
file = new JFileChooser();
}
public String showDialog()
{
String dir = new String();
file.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = file.showDialog(null, "OK");
if (returnVal == JFileChooser.APPROVE_OPTION)
{
dir = file.getSelectedFile().getAbsolutePath();
if (dir.contains(":\\") )
{
String driveOld = dir.substring(0, dir.indexOf(":") + 1);
String driveNew = convertToUNCPath(driveOld);
if (driveNew != null) dir = dir.replace(driveOld, driveNew);
}
}
return dir;
}
private String convertToUNCPath(String path)
{
String s = null;
String unc = null;
String result ="";
try
{
Process p = Runtime.getRuntime().exec( "net use " + path);
BufferedReader in = new BufferedReader( new InputStreamReader(p.getInputStream()) );
while((s = in.readLine()) != null)
{
if (s.startsWith("Remotename")) unc =s.substring(12).trim();
}
}
catch (IOException e)
{
result = e.getMessage();
showStatus( result );
System.out.println(result);
}
catch ( AccessControlException e)
{
result = e.getMessage();
showStatus( result );
System.out.println(result);
}
return unc;
}
}
Eigentlich läuft das ganze soweit, aber sobald Runtime.getRuntime().exec( "net use " + path) aufgerufen wird, bekomme ich "access denied (java.io.FilePermission <<ALL FILES>> execute)", obwohl ich das Applet signiert habe.
Der Aufruf von anderen Befehlen, z.B. Runtime.getRuntime().exec( "C:\WINDOWS\system32\notepad.exe ") funktioniert ohne Probleme. Warum kann kein net use ausgeführt werden?
Danke
chrissy
Zuletzt bearbeitet von einem Moderator: