0

現在、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();
}
4

1 に答える 1

1

私はこれにタオルを投げ入れ、OAuth 2 ソリューションに移行しました。

于 2012-07-16T13:04:08.667 に答える