cleanup, add checks to arguments and responses, add log statements
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / serviceprovider / FilterSupportImpl.java
index b87bb41..7b9e8af 100644 (file)
@@ -26,6 +26,7 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.log4j.Logger;
 import org.opensaml.SAMLException;
 
 import x0.maceShibbolethTargetConfig1.SessionsDocument.Sessions;
@@ -42,7 +43,8 @@ import edu.internet2.middleware.shibboleth.serviceprovider.ServiceProviderConfig
  */
 public class FilterSupportImpl implements FilterSupport {
     
-    public static ServiceProviderContext context = ServiceProviderContext.getInstance();
+    private static ServiceProviderContext context = ServiceProviderContext.getInstance();
+    private static Logger log = Logger.getLogger(ContextListener.SHIBBOLETH_SERVICE);
 
     /**
      * Given a Resource URL, go to the RequestMap logic to find an applicationId.
@@ -70,7 +72,7 @@ public class FilterSupportImpl implements FilterSupport {
     }
     
     /**
-     * Get the URL of the local AuthenticationAssertionConsumerServlet.
+     * Get the URL of the local AssertionConsumerServlet.
      * 
      * @param applicationId
      * @return URL string
@@ -102,10 +104,8 @@ public class FilterSupportImpl implements FilterSupport {
         * @return     true if Shibboleth is required
         */
        public boolean isProtected(String url) {
-           // TODO Add some real logic. This is just a placeholder
-           if (url.endsWith("test.txt"))
-               return true;
-           return false;
+               //TODO: get info from requestmap
+           return true;
        }
 
        /**
@@ -163,11 +163,13 @@ public class FilterSupportImpl implements FilterSupport {
             String emptySessionId) {
         String sessionid;
         try {
-            sessionid = AuthenticationAssertionConsumerServlet.createSessionFromPost(
+            sessionid = AssertionConsumerServlet.createSessionFromPost(
                     ipaddr, request, applicationId, shireURL, providerId,emptySessionId);
         } catch (SAMLException e) {
+               log.error("Invalid POST data submitted by RM "+e);
             return null;
         }
+        log.info("Session created from POST submitted by RM: "+sessionid);
         return sessionid;
     }
 
@@ -187,7 +189,7 @@ public class FilterSupportImpl implements FilterSupport {
      * @return SessionId of empty session
      */
     public String createSession(String applicationId) {
-        return context.getSessionManager().newSession(
-                applicationId, null, null, null, null, null);
+        String id = context.getSessionManager().reserveSession(applicationId);
+        return id;
     }
 }