Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2005 09:39:47
|
andredelorme
Joined: 20/07/2005 11:41:46
Messages: 51
Offline
|
Havia colocado em meu código a seguinte linha:
session.getAttribute(org.mentawai.action.BaseLoginAction.KEY)
Está passou a dar erro, pois essa chave foi modificada para USER_KEY, minhas considerações e dúvidas são:
Será que essa chave mudará de nome novamente?
A chave anterior não deveria ter ficado para compatibilidade?
Esse código que estou usando é uma boa prática?
Se precisar de informações do usuário atualmente logado, deveria armazenar os dados necessários numa chave minha?
Não deveria existir na session um método como getUserSession para trazer o objeto que armazenamos na BaseLoginAction?
O método getUserSession da BaseLoginAction não deveria retornar apenas o objeto armazenado sob a chave USER_KEY?
Obrigado.
|
André Delorme |
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2005 10:09:22
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Fala André,
andredelorme wrote:
Será que essa chave mudará de nome novamente?
A chave anterior não deveria ter ficado para compatibilidade?
Realmente eu deveria ter colocado deprecated. Vacilei pois criei uma incompatibilidade entre a versão 1.0 e 1.1. Mas tem seu lado positivo, pois estou forçando as pessoas a se adequarem a nova API da 1.1. Se eu tivesse deixado deprecated, muitas pessoas simplesmente ignorarm o deprecated.
Mas concordo com vc que isso é sacanagem com os usuários que não querem ter que migrar os seus programas para a nova versão. Da próxima vez vou tomar mais cuidado.
andre wrote:
Esse código que estou usando é uma boa prática?
Sim! O seu código está totalmente certo. Mas há um jeito melhor !!! (veja abaixo)
andre wrote:
Se precisar de informações do usuário atualmente logado, deveria armazenar os dados necessários numa chave minha?
Não há necessidade. Pode usar o objeto que está servindo de autenticador.
andre wrote:
Não deveria existir na session um método como getUserSession para trazer o objeto que armazenamos na BaseLoginAction?
Sim e há! O método estático: BaseLoginAction.getUserSession(Context session).
andre wrote:
O método getUserSession da BaseLoginAction não deveria retornar apenas o objeto armazenado sob a chave USER_KEY?
Sim e ele faz exatamente isso agora na versão 1.1. A versão 1.0 que estava confusa em relação a isso, mas agora ficou bem melhor.
Use o BaseLoginAction.getUserSession(Context session) que é a forma mais certa e segura.
Qualquer outra dúvida/sugestão fique a vontade.
Um abraço,
|
Sergio Oliveira
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2005 10:19:07
|
andredelorme
Joined: 20/07/2005 11:41:46
Messages: 51
Offline
|
Mais uma vez obrigado, e principalmente pelo seu tempo de resposta a questões colocadas no Fórum. Ele é quase um Chat!
Só não entendo porque você sugere o método BaseLoginAction.getUserSession(Context session), porque não o BaseLoginAction.getUserSession()? Existe alguma desvantagem?
|
André Delorme |
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2005 10:27:14
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
O primeiro é estático. O segundo não. Fica complicado de vc usar o método não estático porque vc não terá uma instância do BaseLoginAction passeando pela sua aplicação. Até poderia, mas acho que isso não seria legal.
Então com o primeiro tudo que vc tem que fazer é passar o Context (session) para que ele te retorne o objeto do usuário.
Faz sentido ou estou perdendo algo ?
|
Sergio Oliveira
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2005 10:43:36
|
andredelorme
Joined: 20/07/2005 11:41:46
Messages: 51
Offline
|
Faz sentido sim, eu que não tinha reparado essa diferença entre os métodos. O que é obvio uma vez que a session não poderia estar disponível num método estático.
|
André Delorme |
|
 |
|