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

Reply via email to