Applet - JNLP assinado NetBeans

3 respostas
lreao

Olá amigos,
estou fazendo um projeto applet que captura host, usuario e ip de máquinas na rede, porém assinei via netbeans (WebStart) e não estou conseguindo capturar o método gethost() no applet via javascript!

<applet id="applet" name="applet" width="300" height="300">
            <param name="jnlp_href" value="launch.jnlp"/>
        </applet>
		
		<script>
		var parentAPPLET = document.getElementById("applet");
		alert("Teste");//aqui executa
		alert (parentAPPLET.getHost());//aqui não 
	
		</script>

poderiam me ajudar??

OBS: Vou tentar assinar o arquivo na mão e fazer um teste aqui!!

Abraço

3 Respostas

E

Não é por nada não, mas mesmo assinando as applets, não sei se agora métodos de applets que precisem de restrições de segurança (por exemplo, acessar arquivos) podem ser chamados via JavaScript.

É que o contexto em que rodam esses métodos não é o contexto seguro da applet assinada e sim o contexto do JavaScript, que é um “contexto inseguro”. Portanto, métodos de applets chamados via JavaScript não costumam funcionar, a menos que você tente algumas mágicas, que não sei se continuam a funcionar, devido àqueles problemas todos de segurança que foram aparecendo com o tempo.

Há muito tempo atrás, você podia tentar uma mágica, que era a de iniciar uma thread (que iria rodar no contexto da applet, não a do JavaScript) e fazer com que essa thread executasse a operação “insegura” e a retornasse para o seu código JavaScript. Obviamente alguém percebeu que isso é uma falha de segurança simples de explorar, portanto isso provavelmente não dá mais para fazer em JavaScript.

lreao

SErá que existe outra forma de eu pegar as informações de máquina do usuário, sem ser por applet java??

Preciso do ip, nome do usuário logado e nome do host. Isso é para procedimento interno, dentro de uma rede com domínio nosso!!

Grato amigo pela resposta!

lreao

Outra, tem esse código aqui que funciona perfeitamente!!!

var attributes = {
                code:       "HelloApplet",
                archive:    "Applet.jar",
                width:      300,
                height:     300
            };
            var parameters = {jnlp_href:"launch.jnlp"}; <!-- Applet Parameters -->
            var version = "1.7"; <!-- Required Java Version -->
            deployJava.runApplet(attributes, parameters, version);

Vou estudar esse deployJava pra ver se descubro alguma coisa!!

Criado 3 de junho de 2013
Ultima resposta 4 de jun. de 2013
Respostas 3
Participantes 2