現在、Web アプリと RESTful サービス API (別のサーバー上) を保護するための認証メカニズムとして、CAS で Spring Security を使用しています。AJAX 内の Web アプリから RESTful サービスを呼び出したいと考えています。Web アプリからサービスへの CAS プロキシを正常にセットアップしました。サービス データを取得するために AJAX/JQuery コード内で PGT を使用してサービスを呼び出す最良の方法は何ですか?
現在、次のテスト サーブレットを使用してサービス データを正常に読み取ることができますが、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();
}