Problemas com autenticação em JAAS

Bom dia, Tenho em minha aplicação o controle de acesso feito em JAAS, mas surgiu uma solicitação que antes da autenticação do usuário o sistema deve primeiro verificar o acesso do mesmo em um webservice.
O problema é que como a tela de login não há managedbean que a controle pelo fato da mesma ser implementada no padrao JAAS de autenticação, acarretou em uma série de mudanças que tive que fazer quanto a autenticação.
Criei uma managedBean para minha tela de login.
Logo após, implementei a classe SecurityHelper que se comunicará com a classe que extend de LoginModule.

public class SecurityHelper {
    
    private LoginContext loginContext = null;
    
    private String loginModule;
    
    public SecurityHelper(String loginModule) {
        this.loginModule = loginModule;
    }
    
    public void authenticate(String userId, String password) throws LoginException {
        loginContext = new LoginContext(loginModule, new LoginCallback(userId, password));
        loginContext.login();
    }
    
    public Subject getSubject() {
        Subject result = null;
        if (loginContext != null) {
            result = loginContext.getSubject();
        }
        return result;
    }
    
    public static class LoginCallback implements CallbackHandler {
        
        private String userName = null;
        
        private String password = null;
        
        public LoginCallback(String userName, String password) {
            this.userName = userName;
            this.password = password;
        }
        
        @Override
        public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
            for (int i = 0; i < callbacks.length; i++) {
                if (callbacks[i] instanceof NameCallback) {
                    NameCallback nc = (NameCallback) callbacks[i];
                    nc.setName(userName);
                } else if (callbacks[i] instanceof PasswordCallback) {
                    PasswordCallback pc = (PasswordCallback) callbacks[i];
                    pc.setPassword(password.toCharArray());
                }
            }
        }
    }
}

e na minha classe LoginMBeanForm eu faço a chamada ao método authenticate

public String login() {
        String retorno = "";
        
        SecurityHelper jaasHelper = new SecurityHelper("gcont");
        
        try {
            jaasHelper.authenticate(usuario, senha);
            return "home";
        } catch (LoginException e) {
            FacesUtil.addErrorMessage(e.getMessage());
        }
        return retorno;
    }

Tudo ocorre perfeitamente, mas… quando o método abaixo é invocado,

  public void authenticate(String userId, String password) throws LoginException {
        loginContext = new LoginContext(loginModule, new LoginCallback(userId, password));
        loginContext.login();
    }

chama minha classe que implementa LoginModule e ao debugar, constatei que o método login e commit retornam true.
Mas ao voltar a classe SecurityHelper, não renderiza minha página. Fiz um spect no loginContext e o mesmo estava carregada. Notei uma particularidade que acho que pode ser o fator que esta impedindo que o login seja concretizado. Dentro de loginContext tem um atributo “success” e o mesmo vem como false. O problema é que não consigo ter acesso ao mesmo para setar true em caso de sucesso no login.
Achei estranho este atributo vir como false já que o método login e commit retornaram true.

Alguém ja passou por situação parecida? ou tem alguma sujestão?
Grato.