Login - Criar uma nova sessão ou atribuir o usuário à sessão pré-existente?

7 respostas
D

Quando é feito o login, deve-se criar uma nova sessão

req.getSession(true).setAttribute("usuario", usuario);
ou atribuir o usuário à sessão pré-existente?

req.getSession().setAttribute("usuario", usuario);

7 Respostas

Emerzoom

Boa tarde douglasmaogrande,

true = nova sessão
false = null se a requisição retornar uma sessão inválida

Referências:
https://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html#getSession%28boolean%29

D

É melhor prática criar uma nova sessão ou colocar o usuário na sessão que já existe?

javaflex

Usualmente só poderia aparecer pra entrar com login e senha caso o usuário tiver dado logoff.

D

É melhor fazer assim

req.getSession(true).setAttribute(“usuario”, usuario);

ou assim?

req.getSession().setAttribute(“usuario”, usuario);

javaflex

A sessao tem que ser de quem logou primeiro e não outro usuário poder logar na sessão dele.

D

Qual das duas opções acima devo escolher?

Emerzoom

Vc pode fazer das seguintes formas:

//Servlet
HttpSession session = request.getSession();
session.setAttribute("user", objeto);

//JSF
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
HttpSession session = request.getSession();
session.setAttribute("user", objeto);

Fica ao seu critério.
Coloquei os exemplos assim pra vc ver que o que muda é somente a forma de se fazer, porém, o resultado é o mesmo.

Criado 28 de novembro de 2017
Ultima resposta 1 de dez. de 2017
Respostas 7
Participantes 3