Hello I need how to put subject information returned of lc.login() in webapp context int order to invoke getUserPrincipal and not retur null
LoginServlet.java protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String username = req.getParameter("j_username"); String password = req.getParameter("j_password"); String host = req.getHeader("Host"); MyCallbackHandler cbh = new MyCallbackHandler(username,password,host); try { LoginContext lc = new LoginContext("websecure",cbh); lc.login(); Subject s = lc.getSubject(); log.info(s.getPrincipals().toString()); ses.setAttribute("authcs.subject",lc.getSubject()); //log.info(req.getUserPrincipal().getName()); RequestDispatcher rd = req.getRequestDispatcher("test.jsp"); rd.forward(req,res); } catch (LoginException e) { e.printStackTrace(); //log.warning(e.getMessage()); } } source: test.jsp <% out.println("User: " + request.getParameter("user") + "<br>"); out.println("Pass (clear): " + request.getParameter("pass") + "<br>"); out.println("User Principal: " + request.getUserPrincipal() + "<br>"); out.println("Remote User: " + request.getRemoteUser()); %> output : test.jsp User: null Pass (clear): null User Principal: null Remote User: null -- Un saludo