Доступ к сеансу лиц в службе отдыха - PullRequest
0 голосов
/ 01 мая 2018

У меня есть веб-приложение jsf, которое поддерживает пользовательский сеанс через компонент @SessionScoped. И тогда у меня есть служба отдыха для вызова метода выхода из системы, который используется для аннулирования сеанса пользователя.

Однако, когда я вызываю службу rest, request.getSession () не имеет атрибутов, установленных bean-компонентом @SessionScoped. Также недействительным сеанс также не работает.

Когда снова вызывается компонент @SessionScoped, его собственный сеанс с атрибутами все еще доступен.

Службы отдыха создают отдельный сеанс, отличный от сеанса лиц? Если так, как я могу сделать недействительным сеанс через службу отдыха (это должно быть через службу отдыха, а не управляемый компонент или какой-либо компонент cdi bean)

@Path("logout")
@RequestScoped
public class LogoutEndpoint {

    @POST
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    public boolean op(  @Context final HttpServletRequest request) {
        HttpSession httpSession = (HttpSession)request.getSession();
        httpSession.invalidate();
    }
}    
...