Jah passaram varios e-mail na lista a respeito desse tema.

Eh mais ou menos assim:

 Um applet NAO tem acesso a ABSOLUTAMENTE NADA do sistema, a menos que a
JVM permita. Um applet, por questoes obvias de seguranca, nao consegue
criar um ServerSocket, nem gravar arquivo, ...., nem acessar a Impressora.

Ok. Como a JVM faz isso?
A politica de seguranca da JVM eh assim:

Caso o applet esteja rodando no mesmo host de onde ele foi encontrado, as
permissoes sao totais. Isso quer dizer que se vc criar seu applet que
imprime e rodar ele na mesma maquina (com o appletviewer, por exemplo),
ele fuincionara bem.

Caso o applet esteja rodando em maquina diferente de onde ele foi
encontrado, as permissoes sao zero! Ele NAO pode fazer nenhum acesso a
dispositivos do sistema.

Como a JVM sabe que os hosts de execucao e onde o applet estah sao
diferentes?
Resposta: CLASSPATH. Caso a JVM encontre seu applet (.class) no CLASSPATH
local, ou no html que contem o applet possua o CODEBASE igual ao seu
endereco(pode ser localhost, IP, loopback, etc), ela (a JVM) considera que
os hosts de execucao e de origem do applet sao o mesmo. Jah que sao o
mesmo, de acordo com a politica da JVM, esse eh um applet "seguro", logo
pode acessar o sistema. Caso a JVM encontre o applet (.class) em outro
host (por exemplo, em uma URL diferente de localhost e afins), ela (a JVM)
assume que este applet eh "desconhecido" e, pela politica de seguranca,
nao permite que esse applet acesse o sistema.
Acho que sao bem claras a politica de seguranca e seus motivos. Jah
imaginou se eu coloco um applet em um site meu que fica pegando dados do
host do cliente? Ruim, nao?

Ok. Logo, nao adianta tentar "burlar" essas politicas, tentando mudar o
CODEBASE do applet, etc.

Como resolver entao?
Existem sites onde vc pode "certificar" seu applet. Jah usou o teclado
virtual do Banco do Brasil? A primeira vez que vc acessa o site, vem uma
pergunta do tipo "Deseja confiar no conteudo desse site?" (ou algo do
tipo). Aquilo eh uma validacao de que o cliente (seu browser) aceitou os
"riscos" de estar executando o applet que foi recebido.

No google vc encontra varios HOW-TOs de como proceder para registrar seu
applet nesses sites.

Para eu parar de ficar tentando explicar isso (possivelmente jah escrevi
ateh inverdades), entre direto em:

http://developer.java.sun.com/developer/technicalArticles/Security/applets/

Nessa pagina, sao apresentadas questoes de seguranca que eu (tentei) dizer
e, do meio para o fim da pagina, como proceder (com as proprias
ferramentas presentes no JDK) para certificar seu applet.

Espero que esse link resolva seu problema.


[]'s,

  Bruno do Amaral.




On Fri, 16 May 2003, Alexandre Rosa wrote:

> Caros amigos:
> Um colega meu aqui da empresa esta tendo problema com a impressão em APPLETS.
> Gera um problema de segurança (Access denied). Bom ele esta usando o PrintJob. Teria 
> alguma outra classe mais indicada ?
>
> Grato ,
> Alexandre.
>         _______________________
>       Alexandre Rosa
>       Desenvolvimento
>       [EMAIL PROTECTED]
>
>
>
>
>
>
>


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a