Jump to content
nram

JEE Sessões e Carregamento de Objetos

Recommended Posts

nram

Boas,

Como é que podemos fazer um sistema de sessões (login) minimamente seguro em JEE (web)?

Que informação guardam na sessão? E como conseguem determinar que esses dados não foram alterados? Pensei em introduzir uma "chave" gerada aleatoriamente e guardada temporariamente na BD, mas acho que isso teria que fazer uma query a cada pedido.

Outra coisa, eu tenho 2 tabelas onde terei talvez uma milhares de registos, como é que eu posso manter essas tabelas em memória de maneira a que quando necessário não fosse preciso fazer a query e apenas chamasse-mos esse objeto já em memória?

Share this post


Link to post
Share on other sites
Rui Carlos

Boas,

Como é que podemos fazer um sistema de sessões (login) minimamente seguro em JEE (web)?

Que informação guardam na sessão? E como conseguem determinar que esses dados não foram alterados? Pensei em introduzir uma "chave" gerada aleatoriamente e guardada temporariamente na BD, mas acho que isso teria que fazer uma query a cada pedido.

Penso que essa é uma solução comum. E para que as queries não causem problemas de desempenho, podes colocar a tabela em memória (normalmente é uma tabela pequena, e se se perder, por não estar em disco, a única consequência é que os utilizadores têm que fazer login novamente).

Outra coisa, eu tenho 2 tabelas onde terei talvez uma milhares de registos, como é que eu posso manter essas tabelas em memória de maneira a que quando necessário não fosse preciso fazer a query e apenas chamasse-mos esse objeto já em memória?

Estás a usar algum ORM, ou estás a lidar com a BD directamente? Penso que alguns ORMs têm funcionalidades de cache. Se está a lidar com a BD directamente, tu próprio podes guardar os dados em objectos, que reutilizas mais tarde (tens é que ter cuidado com eventuais problemas de concorrência).

Share this post


Link to post
Share on other sites
nram

Estou a usar hibernate, tenho que verificar isso da cache, porque o meu prof nem falou na possibilidade de o hibernate ter uma espécie de cache.

Por falar em hibernate, uma das coisas que mais me dá cabo da paciência é o facto de eu achar que ele gere mal as ligações. Isto é, eu apartir do hibernate util só deveria estar interessado no getSession e fazer qualquer tipo de transação, e ele não se chatear com o tipo de "fetch" Lazy. Basicamente a minha solução atual (que não é nada boa) é abrir uma sessão quando o meu Bean chama um DAO (que por sua vez chama o genericDao). Mas isto é tão absurdo que até gostava de ver o número de ligações que ele anda a perder.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.