2012-05-10 3 views
0

현재 웹 애플리케이션과 RESTful 서비스 API (별도의 서버에 있음)를 보호하기위한 인증 메커니즘으로 CAS와 함께 스프링 보안을 사용하고있다. AJAX 내 웹 앱에서 RESTful 서비스에 대한 호출을하고 싶습니다. 성공적으로 웹 응용 프로그램에서 CAS 프록시를 서비스에 설정했습니다. AJAX/JQuery 코드 내에서 PGT를 사용하여 서비스를 호출하여 서비스 데이터를 검색하는 가장 좋은 방법은 무엇입니까?CAS 프록시와 스프링 보안을 사용하여 RESTful 서비스 호출하기

지금 당장 나는 다음 테스트 서블릿을 사용하여 서비스 데이터를 성공적으로 읽을 수 있지만 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 솔루션으로 이동했습니다.

관련 문제