Webapp A와 Webapp B의 두 가지 웹 응용 프로그램이 있습니다. Webapp A는 Spring 3.1 webapp입니다. Webapp B는 별도의 비 스프링 웹 응용 프로그램입니다. 둘 다 CAS에 의해 보호됩니다. 제 목표는 webapp A가 프록시 티켓을 사용하여 webapp B에서 정보를 검색하는 것입니다.프록시 티켓을 사용하는 스프링 및 CAS
간단히하기 위해 스프링 보안에서 제공하는 cas 샘플을 webapp A로 가져 왔습니다. 사용하도록 구성된 기본 샘플 내 로컬 cas 예상대로 작동합니다. cas 샘플에 익숙하지 않은 사용자에게는 프록시 티켓을 사용하여 cas-sample 어플리케이션 내의 다른 페이지를 요청하는 예제가 제공됩니다. 그런 다음 webapp B에 mod_auth_cas를 사용하여 보호 된 아파치 웹 서버에서 간단한 페이지를 사용합니다. 다시 Webapp B가 예상대로 작동합니다. cas-sample을 프록시 티켓을 사용하여 webappB를 요청하도록 변경하면 작동하지 않습니다. webappB에 대한 요청의 응답은 CAS 로그인 페이지입니다. 참고 : Webapp B에 대해 tomcat webapp (비 스프링)을 시도했지만 동일한 결과가 나타납니다. 어떤 문제가 webapp B에없는 것 같아요. 아래는 프록시 티켓을 사용하여 webapp B에 요청하는 데 사용되는 코드입니다. 보안 컨텍스트 구성은 here으로 볼 수 있습니다.
final String targetUrl = "https://server/webappB";
final CasAuthenticationToken token = (CasAuthenticationToken) request.getUserPrincipal();
final String proxyTicket = token.getAssertion().getPrincipal().getProxyTicketFor(targetUrl);
final String serviceUrl = targetUrl+"?ticket="+URLEncoder.encode(proxyTicket, "UTF-8");
String proxyResponse = CommonUtils.getResponseFromServer(serviceUrl, "UTF-8");
내가 뭘 잘못하고 있니? 위의 targetUrl이 webapp A에 있지만 외부 응용 프로그램에없는 경우 왜이 기능을 사용할 수 있습니까?
도움 주셔서 감사합니다.
EDIT : webapp에 프록시 티켓을 사용하는 페이지가 요청되면 CAS 로그에 나타나는 내용이 도움이되는 경우입니다.
[org.jasig.cas.ticket.registry.DefaultTicketRegistry] - Attempting to retrieve ticket [TGT-2-YX0RNVRDHAPyGLy6ymGGVucUSQyjtre4jvGrAxYk2hXsehsxqx-cas]
[org.jasig.cas.ticket.registry.DefaultTicketRegistry] - Ticket [TGT-2-YX0RNVRDHAPyGLy6ymGGVucUSQyjtre4jvGrAxYk2hXsehsxqx-cas] found in registry.
[org.jasig.cas.ticket.registry.DefaultTicketRegistry] - Added ticket [ST-3-JrQKqqpZJz00a2hsGZP6-cas] to registry.
[org.jasig.cas.CentralAuthenticationServiceImpl] - Granted proxy ticket [ST-3-JrQKqqpZJz00a2hsGZP6-cas] for service [https://server/webappB] for user [testUser]
[org.jasig.cas.web.support.CasArgumentExtractor] - Extractor generated service for: https://server/webappB
[org.jasig.cas.ticket.registry.DefaultTicketRegistry] - Attempting to retrieve ticket [ST-3-JrQKqqpZJz00a2hsGZP6-cas]
[org.jasig.cas.ticket.registry.DefaultTicketRegistry] - Ticket [ST-3-JrQKqqpZJz00a2hsGZP6-cas] found in registry.
[org.jasig.cas.ticket.registry.DefaultTicketRegistry] - Removing ticket [ST-3-JrQKqqpZJz00a2hsGZP6-cas] from registry
[org.jasig.cas.web.support.CasArgumentExtractor] - Extractor generated service for: https://server/webappB
[org.jasig.cas.web.flow.InitialFlowSetupAction] - Placing service in FlowScope: https://server/webappB
[org.jasig.cas.web.flow.InitialFlowSetupAction] - Placing service in FlowScope: https://server/webappB
[org.jasig.cas.web.support.CasArgumentExtractor] - Extractor generated service for: https://server/webappB