1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package edu.internet2.middleware.shibboleth.idp.authn.provider;
19
20 import java.io.IOException;
21
22 import javax.servlet.ServletException;
23 import javax.servlet.http.HttpServlet;
24 import javax.servlet.http.HttpServletRequest;
25 import javax.servlet.http.HttpServletResponse;
26
27 import org.opensaml.xml.util.DatatypeHelper;
28 import org.slf4j.Logger;
29 import org.slf4j.LoggerFactory;
30
31 import edu.internet2.middleware.shibboleth.idp.authn.AuthenticationEngine;
32 import edu.internet2.middleware.shibboleth.idp.authn.LoginHandler;
33 import edu.internet2.middleware.shibboleth.idp.authn.UsernamePrincipal;
34
35
36 public class RemoteUserAuthServlet extends HttpServlet {
37
38
39 private static final long serialVersionUID = -6153665874235557534L;
40
41
42 private final Logger log = LoggerFactory.getLogger(RemoteUserAuthServlet.class);
43
44
45 protected void service(HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws ServletException,
46 IOException {
47 String principalName = DatatypeHelper.safeTrimOrNullString(httpRequest.getRemoteUser());
48 if(principalName != null){
49 log.debug("Remote user identified as {} returning control back to authentication engine", principalName);
50 httpRequest.setAttribute(LoginHandler.PRINCIPAL_KEY, new UsernamePrincipal(principalName));
51 }else{
52 log.debug("No remote user information was present in the request");
53 }
54
55 AuthenticationEngine.returnToAuthenticationEngine(httpRequest, httpResponse);
56 }
57 }