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);
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);
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
É melhor prática criar uma nova sessão ou colocar o usuário na sessão que já existe?
Usualmente só poderia aparecer pra entrar com login e senha caso o usuário tiver dado logoff.
É melhor fazer assim
req.getSession(true).setAttribute(“usuario”, usuario);
ou assim?
req.getSession().setAttribute(“usuario”, usuario);
A sessao tem que ser de quem logou primeiro e não outro usuário poder logar na sessão dele.
Qual das duas opções acima devo escolher?
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.