Falha de permissão ao acessar diretório com Applets

1 resposta
augustocolom

Olá pessoal,

estou recebendo a seguinte mensagem:

java.security.AccessControlException: access denied (java.io.FilePermission file:/opt/bin read)
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
	at java.security.AccessController.checkPermission(AccessController.java:546)
	at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
	at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
	at java.io.File.list(File.java:971)
	at java.io.File.listFiles(File.java:1051)
	at exercicio3.MidiPlayer.getMusicas(MidiPlayer.java:94)
	at exercicio3.MidiPlayer.init(MidiPlayer.java:45)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1579)
	at java.lang.Thread.run(Thread.java:619)
Exception: java.security.AccessControlException: access denied (java.io.FilePermission file:/opt/bin read)

Quando tento listar meus diretórios utilizando Applets,

private Vector<String> getMusicas(String categoria){ Vector<String> nomes = new Vector<String>(); String dir = "file:///opt/bin/"; File diretorio = new File(dir); File fList[] = diretorio.listFiles(); for ( int i = 0; i < fList.length; i++ ){ System.out.println(fList[i]); nomes.add(fList[i].getName()); } return nomes; }

Alguém saberia como faço para resolver este problema?

1 Resposta

Adelar

Olá,

por padrão os applets não podem ter acesso a alguns recursos, dentre eles o acesso ao disco. Para que este acesso seja permitido o usuário que executa o applet deve permitir que ele acesse, através da permissão de execução destas funcionalidades bloqueadas. Para fazer isso você deve assinar o applet. Assim quando o usuário acessar pelo browser vai aparecer uma mensagem pedindo se ele aceita o certificado criado… se ele aceitar o applet terá acesso a escrita no disco e tudo mais…

Segue um material que pode lhe ajudar a fazer isso: http://www.das.ufsc.br/jacoweb/restrito/documentos/assinatura/index.htm

Att.

Criado 9 de julho de 2010
Ultima resposta 10 de jul. de 2010
Respostas 1
Participantes 2