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!
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
quarta-feira, 21 de julho de 2010
Dica: como carregar helpers do Symfony além dos templates
Quem trabalha com Symfony pode aproveitar esta dica muito útil: carregar helpers em qualquer outro lugar além dos templates, como dentro de uma action por exemplo.
Para isso, digite:
sfLoader::loadHelpers(array ('HelperName1', 'HelperName2'));
Pronto!
Há!
Para isso, digite:
sfLoader::loadHelpers(array ('HelperName1', 'HelperName2'));
Pronto!
Há!
Marcadores:
Carregar Helper Symfony,
Helpers,
PHP,
Symfony
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
quarta-feira, 7 de julho de 2010
Life in a Day
Mais um projeto colaborativo via internet, com o apoio do grande diretor Ridley Scott: http://www.youtube.com/lifeinaday
Filme o seu dia e poderá ter um trecho dele incluso.
Legal!
Filme o seu dia e poderá ter um trecho dele incluso.
Legal!
Marcadores:
Filmes,
Ridley Scott,
Youtube
WITH CLAUSE
Lendo o manual do postgreSQL (8.4) descobri algo muito útil: a cláusula WITH.
Com ela você pode selecionar dados a partir de um outro select, algo como uma view "on the fly" ou uma tabela temporária, só se auto "destrói" após o uso. Já imaginei mil aplicações para isto, você consegue? Comentem...
Exemplo basicão:
WITH regional_sales AS (
SELECT region, SUM(amount) AS total_sales
FROM orders
GROUP BY region
), top_regions AS (
SELECT region
FROM regional_sales
WHERE total_sales > (SELECT SUM(total_sales)/10 FROM regional_sales)
)
SELECT region,
product,
SUM(quantity) AS product_units,
SUM(amount) AS product_sales
FROM orders
WHERE region IN (SELECT region FROM top_regions)
GROUP BY region, product;Isto poderia ser escrito sem WITH, mas seria mais custoso pois precisaria de mais níveis de sub-selects.
Referência postgreSQL
Marcadores:
Banco de dados,
CLAUSE,
postgreSQL,
SELECT,
WITH
sábado, 3 de julho de 2010
Foto publicada no Google Street View mostra criança em sua casa, SEM ROUPAS
Uma imagem publicada no Google Street View agitou as discussões em torno do serviço novamente: uma mãe achou a foto da sua rua no serviço, o único problema é que ele estava completamente nu.
Segundo ela, a empresa deveria se preocupar mais em verificar as fotos antes de publicá-las. Ela teme que um pedófilo possa achar a foto e algo possa acontecer. rs
Ela tem medo de pedófilo, mas deixa o filho correndo solto, nu, nos EUA, onde tá cheio de pedófilo e Serial Killer? Claro que o Google pode retirar a imagem, e existem ferramentas para reportar estas situações e assim sanar rapidamente, e o faz!
Por favor minha senhora!
Reclamar por reclamar, algumas pessoas perdem a noção...
Alguém aí acha que ela está certa? Eu não...
via geek.com.br
Segundo ela, a empresa deveria se preocupar mais em verificar as fotos antes de publicá-las. Ela teme que um pedófilo possa achar a foto e algo possa acontecer. rs
Ela tem medo de pedófilo, mas deixa o filho correndo solto, nu, nos EUA, onde tá cheio de pedófilo e Serial Killer? Claro que o Google pode retirar a imagem, e existem ferramentas para reportar estas situações e assim sanar rapidamente, e o faz!
Por favor minha senhora!
Reclamar por reclamar, algumas pessoas perdem a noção...
Alguém aí acha que ela está certa? Eu não...
via geek.com.br
Marcadores:
Google,
Serviço,
Street View,
Web
Assinar:
Comentários (Atom)