2012-05-10 128 views
0

我目前正在使用Spring Security與CAS作爲身份驗證機制來保護Web應用以及我的RESTful服務API(在單獨的服務器上)。我想在AJAX中從我的Web應用程序調用RESTful服務。我已經成功地從Web應用程序設置CAS代理服務。使用我的AJAX/JQuery代碼中的PGT調用服務以檢索服務數據的最佳方式是什麼?使用CAS Proxy和Spring Security調用REST風格的服務

現在,我可以使用以下測試servlet成功讀取服務數據,但我想知道使用AJAX的方法。

@Override 
protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
    throws ServletException, IOException { 
String targetUrl = "https://example.com/services/helloworld"; 

final CasAuthenticationToken token = (CasAuthenticationToken) req 
    .getUserPrincipal(); 
final String proxyTicket = token.getAssertion().getPrincipal() 
    .getProxyTicketFor(targetUrl); 

// Make a remote call using the proxy ticket 
final String serviceUrl = targetUrl + "?ticket=" 
    + URLEncoder.encode(proxyTicket, "UTF-8"); 
String proxyResponse = CommonUtils.getResponseFromServer(serviceUrl); 

resp.setStatus(HttpServletResponse.SC_OK); 
resp.setContentType("text/plain"); 
PrintWriter writer = resp.getWriter(); 
writer.println(proxyResponse); 
writer.flush(); 
} 

回答

1

我最終拋棄了這個問題,轉而採用OAuth 2解決方案。

相關問題