Ver Fonte

SEC-2547: Fix sample after updating CAS client version

Rob Winch há 11 anos atrás
pai
commit
7ea0d3d42f

+ 1 - 1
docs/manual/src/asciidoc/index.adoc

@@ -5525,7 +5525,7 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
 
   // Make a remote call using the proxy ticket
   final String serviceUrl = targetUrl+"?ticket="+URLEncoder.encode(proxyTicket, "UTF-8");
-  String proxyResponse = CommonUtils.getResponseFromServer(serviceUrl, "UTF-8");
+  String proxyResponse = CommonUtils.getResponseFromServer(new URL(serviceUrl), connectionFactory, "UTF-8");
   ...
 }
 ----

+ 2 - 1
samples/cas/sample-xml/src/integration-test/groovy/org/springframework/security/samples/cas/CasSampleProxyTests.groovy

@@ -19,6 +19,7 @@ import org.apache.commons.httpclient.HttpClient
 import org.apache.commons.httpclient.methods.GetMethod
 import org.jasig.cas.client.jaas.CasLoginModule;
 import org.jasig.cas.client.proxy.Cas20ProxyRetriever
+import org.jasig.cas.client.ssl.HttpsURLConnectionFactory
 import org.springframework.security.samples.cas.pages.*
 
 import spock.lang.*
@@ -36,7 +37,7 @@ class CasSampleProxyTests extends AbstractCasTests {
     HttpClient client = new HttpClient()
     @Shared String casServerUrl = LoginPage.url.replaceFirst('/login','')
     @Shared JettyCasService service = new JettyCasService().init(casServerUrl)
-    @Shared Cas20ProxyRetriever retriever = new Cas20ProxyRetriever(casServerUrl,'UTF-8')
+    @Shared Cas20ProxyRetriever retriever = new Cas20ProxyRetriever(casServerUrl,'UTF-8', new HttpsURLConnectionFactory())
     @Shared String pt
 
     def cleanupSpec() {

+ 6 - 1
samples/cas/sample-xml/src/main/java/org/springframework/security/samples/cas/web/ProxyTicketSampleServlet.java

@@ -17,6 +17,7 @@ package org.springframework.security.samples.cas.web;
 
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.net.URL;
 import java.net.URLEncoder;
 
 import javax.servlet.ServletException;
@@ -24,6 +25,8 @@ import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.jasig.cas.client.ssl.HttpURLConnectionFactory;
+import org.jasig.cas.client.ssl.HttpsURLConnectionFactory;
 import org.jasig.cas.client.util.CommonUtils;
 import org.springframework.security.cas.authentication.CasAuthenticationToken;
 
@@ -42,6 +45,8 @@ public final class ProxyTicketSampleServlet extends HttpServlet {
      * This is the URL that will be called and authenticate a proxy ticket.
      */
     private String targetUrl;
+    
+    private HttpURLConnectionFactory connectionFactory = new HttpsURLConnectionFactory();
 
     @Override
     protected void doGet(HttpServletRequest request, HttpServletResponse response)
@@ -53,7 +58,7 @@ public final class ProxyTicketSampleServlet extends HttpServlet {
 
         // Make a remote call to ourself. This is a bit silly, but it works well to demonstrate how to use proxy tickets.
         final String serviceUrl = targetUrl+"?ticket="+URLEncoder.encode(proxyTicket, "UTF-8");
-        String proxyResponse = CommonUtils.getResponseFromServer(serviceUrl, "UTF-8");
+        String proxyResponse = CommonUtils.getResponseFromServer(new URL(serviceUrl), connectionFactory, "UTF-8");
 
         // modify the response and write it out to inform the user that it was obtained using a proxy ticket.
         proxyResponse = proxyResponse.replaceFirst("Secure Page", "Secure Page using a Proxy Ticket");