Tem como eu pegar a sessao do jsf?
eu estou desenvolvendo uma aplicação em JSF usando o Liferay,
e eu preciso saber se o usuário ainda está com a sessão ativa, caso não estiver
preciso que ele execute uma ação.
Tem como eu pegar a sessao do jsf?
eu estou desenvolvendo uma aplicação em JSF usando o Liferay,
e eu preciso saber se o usuário ainda está com a sessão ativa, caso não estiver
preciso que ele execute uma ação.
Deve ser isso que você quer:
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
Map<String, Object> sessionMap = externalContext.getSessionMap();
Valeu ai, me ajudou bastante, o que eu faço para pegar a sessão:
FacesContext facesContext = FacesContext.getCurrentInstance();
PortletRequest request = (PortletRequest) facesContext.getExternalContext().getRequest();
PortletSession session = request.getPortletSession();
sabe se existe algum método que eu possa ver
quanto tempo faz para a sessão acabar ou algo do gênero.
porque eu preciso verificar se acabou ou esta prestes a encerrar uma sessão.
Você saberia se existe algo parecido porque o método
session.getLastAccessedTime();
pega a primeira vez que o usuário acessou a sessão
e conforme você vai utilizando a página a sessão é prorrogada,
e o outro metodo
session.getMaxInactiveInterval();
retorna o máximo de tempo que a sessão pode ficar sem utilizar e depois desse tempo ela é cancelada pelo servidor.
mas nenhum método que eu vi até agora da o tempo que a sessão está inutilizada, ou quanto tempo para a sessão encerrar
e é realmente isso que eu preciso.
Resolvido se alguem tiver alguma dúvida em relação a isso,
nesse link tem algo que me ajudou muito: