Ao surgir a necessidade de auntenticar um e-token no navegador, utilizei o Java. Porém não imaginava como seria difícil manter a sessão do ususário através do plugin.
Pesquisei na documentação e outras fontes, mas estava difícil. Aparentemente se você faz uma chamada detro do Applet, utilizando a classe URLConnection, é uma chamada totalmente diferente.
Mas existe uma solução simples, e que pode evoluir até para algo mais elegante, mas me atenho ao básico que é minha necessidade no momento.
Ao chamar a tag (embed, object ou applet) passe como parametro o nome e o valor do cookie que controla sua sessão. Em PHP fica assim:
<param name="cookie_name" value="nome-do-cookie >
<param name="cookie_value" value="" >
Capture dentro do Applet o valor:
String cookie_name = getParameter('cookie_name');
String cookie_value = getParameter('cookie_value');
E ao realizar a chamada para a url que deseja, passe o cookie:
URLConnection conn = new URLConnection(url);
conn.setRequestProperty('Cookie', cookie_name + "=" + cookie_value);
Pronto.
Existe uma maneira de pegar os sent headers, dentre eles os cookies enviados, automaticamente e em um laço, repassá-los adiante, mas como eu comentei antes, não foi minha necessidade algo tão elegante.
Keep it simple!
Mostrando postagens com marcador Applet Java. Mostrar todas as postagens
Mostrando postagens com marcador Applet Java. Mostrar todas as postagens
quarta-feira, 25 de agosto de 2010
quinta-feira, 5 de agosto de 2010
Dica: Remover o cache de applets da máquina virtual JAVA
Essa é para quem já se bateu muito (que nem eu hehe) - como remover o "maldito" cache de applets JAVA no navegador.
Existe um diretório que armazena o cache dos applets e não existe uma forma de remove-lo, a não ser manualmente.
Para fazer isto, procure por um diretório com um nome parecido:
/home/usuario/.java/deployment/cache
Dentro deste diretório "cache" ele cria o diretório 6.0 (meu JDK é a versão 6, imagino que na 7 ele criará 7.0 e assim por diante) e dentro deste, um diretório com nome numérico começando pelo 0 e daí para a frente para cada execução.
Após a limpeza, é necessário fechar o browser e abri-lo novamente, caso contrário ele não encontrará nenhuma classe de nenhum applet que você tentar carregar.
That's it.
Há!
P.S.: JAVA SUCKS!
Existe um diretório que armazena o cache dos applets e não existe uma forma de remove-lo, a não ser manualmente.
Para fazer isto, procure por um diretório com um nome parecido:
/home/usuario/.java/deployment/cache
Dentro deste diretório "cache" ele cria o diretório 6.0 (meu JDK é a versão 6, imagino que na 7 ele criará 7.0 e assim por diante) e dentro deste, um diretório com nome numérico começando pelo 0 e daí para a frente para cada execução.
Após a limpeza, é necessário fechar o browser e abri-lo novamente, caso contrário ele não encontrará nenhuma classe de nenhum applet que você tentar carregar.
That's it.
Há!
P.S.: JAVA SUCKS!
Marcadores:
Applet Java,
Cache,
Cache de Applet Java,
Cache não limpa,
Java,
Problema
sexta-feira, 16 de julho de 2010
Como criar um Certificate Store e assinar um JAR
Quande se trabalha com applets, tem-se alguns recursos limitados devido a segurança, entre eles, o acesso a arquivos do disco. Mas em alguns casos ou aplicações, você precisa deste acesso.
É possível ter este acesso, desde que você assine seu applet e o cliente declare que confia no emissor do certificado (uma janela do navegador se abre para tal).
Para criar o Certificate Store que é onde seu "certificado" vai estar. O correto é utilizar certificados digitais reais, mas para fins de desenvolvimento utiliza-se um próprio gerado no seu computador mesmo.
Os comandos são executáveis que vem com o JDK.
Gerando o Certificate Store
keytool -genkey -keyalg rsa -alias nome-do-cert-store
Ao digitar o comando acima, ele requisitará algumas informações como nome, nome da organização, etc. Digite todas as informações, incluindo a senha do Certificate Store.
Assinando o applet
jarsigner -storepass senha-do-cert-store-que-vc-digitou arquivo.jar nome-do-cert-store
Comentem!
Há!
É possível ter este acesso, desde que você assine seu applet e o cliente declare que confia no emissor do certificado (uma janela do navegador se abre para tal).
Para criar o Certificate Store que é onde seu "certificado" vai estar. O correto é utilizar certificados digitais reais, mas para fins de desenvolvimento utiliza-se um próprio gerado no seu computador mesmo.
Os comandos são executáveis que vem com o JDK.
Gerando o Certificate Store
keytool -genkey -keyalg rsa -alias nome-do-cert-store
Ao digitar o comando acima, ele requisitará algumas informações como nome, nome da organização, etc. Digite todas as informações, incluindo a senha do Certificate Store.
Assinando o applet
jarsigner -storepass senha-do-cert-store-que-vc-digitou arquivo.jar nome-do-cert-store
Comentem!
Há!
Marcadores:
Applet Java,
Assnar Applet,
Certificado Digital,
Certificate Store,
JAR,
Java,
Programação
Assinar:
Postagens (Atom)