Java.policy X RMI

3 respostas
E

Pessoal do PJ.

Bom dia.

Fiz uma aplicação teste utilizando RMI.
Consegui compilar, rodar o comando rmic.
O rmiregistry funciona.

O problema é que se eu coloco o seguinte codigo:

System.setSecurityManager(new RMISecurityManager());

na minha classe que faz os Naming, quando vou rodar a aplicação da um erro de acesso não permitido ao socket no meu IP na porta 1099.

Como funciona o arquivo java.policy ?
Onde salvo ?
Edito ele através do policytool ?

Muito obrigado.

3 Respostas

B

Oie…

Vc precisa do java.policy para dar permissão de acesso. Este arquivo deve ser salvo no mesmo diretório da tua aplicação. Caso contrário, acredito (mas não tenho certeza) de que será preciso fazer um carregamento dinâmico deste, mas nunca testei.

Sendo assim, segue um exemplo de arquivo .policy:

grant {

permission java.security.AllPermission;

};

Depois de salvo, qd vc executar tua aplicação servidora, provavelmente não dará erro. Para isso faça o segunte:

java -Djava.security.policy=policy HelloImpl

Qualquer problema é só pedir!!

Abraços

D

O arquivo policy pode ser editado no bloco de notas.

Eu geralmente deixo o arquivo no diretório onde estão as classes java. E também salvo o arquivo como policy sem extensão.

Depois utilizo o comando:

java  -Djava.rmi.server.codebase=file:///local/das/classesjava/  -Djava.security.policy=file:///local/do//policy  com.br.rmi.ClasseImpl

:grin:

E

Bom dia.

Pessoal muito obrigado.

O detalhe do:

grant {

permission java.security.AllPermission;

};

e do:
java -Djava.security.policy=policy …

Funcionou perfeitamente.
Muito obrigado mesmo.

Até ++

Criado 22 de outubro de 2004
Ultima resposta 25 de out. de 2004
Respostas 3
Participantes 3