JavaEE 8 jsr375 обнаруживает пользователя на фильтре - PullRequest
0 голосов
/ 25 сентября 2018

Я работаю с JavaEE 8 на OpenLiberty 18.0.0.2.
Я хочу понять, запрос уже аутентифицирован или нет.
этот код не работает:

@WebFilter(urlPatterns = {"/panel/*"})
public class IndexFilter implements Filter {

    @Inject
    private SecurityContext securityContext ;

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

        System.out.println(((HttpServletRequest) request).getUserPrincipal()); //not work : receive null
        System.out.println(securityContext.getCallerPrincipal().getName()); // not work : receive UNAUTHENTICATED

        // ? How can find user principal ?

        chain.doFilter(request,response);
    }
}

, и это мой метод входа:

public void login() throws IOException {
        Credential credential = new UsernamePasswordCredential(username, password);
        AuthenticationStatus status = securityContext.authenticate(
                getHttpServletRequest(),
                getHttpServletResponse(),
                withParams()
                        .credential(credential)
                        .rememberMe(true)
        );
        if (status.equals(SUCCESS)) {
            facesContext.getExternalContext().redirect("/panel/index.xhtml");
        }
    }

Как определить пользователя на фильтре?

...