2013-03-08 1 views
1

현재 우리는 단일 Tomcat 서버에 배포하는 약 12 ​​개의 웹 응용 프로그램을 보유하고 있습니다. 이러한 응용 프로그램 중 하나는 모든 권한 부여에 사용되는 CAS입니다.rest service call을위한 CAS를 통한 인증

이것은 꽤 잘 작동하며 jRuby 웹 애플리케이션에서 우리는 rubycas-client gem을 사용하여 CAS를 가리키며 완료되었습니다.

이제 Java 구성 요소에서 동일한 서버에있는 나머지 서비스를 통해 다른 웹 응용 프로그램을 호출 할 수 있어야합니다. 내 첫 번째 생각은 CAS 프록시 티켓을 사용하는 것이지만 현재 공격해야하는 웹 응용 프로그램에는이 기능이 설정되어 있지 않으며 환경의 특성상 변경할 수 없습니다.

웹 응용 프로그램에서 다른 도메인을 가리키는 iframe (동일한 도메인과 서버에 있음)을 사용하여 사용자를 가장하려고 시도 할 때까지 우리는 세션 ID를 다 썼습니다. 가장 (impersonation)을 찾아 Java 계층에 전달합니다. 하지만 저는 정말로이 일을하고 싶지 않습니다.

나는 무엇이 있습니까? 이 작업을 수행하는 더 좋은 방법이 있습니까? 어쩌면 iframe없이 sessionid를 얻을 수있는 방법이 있습니까?

감사합니다.

답변

1

CAS ID를 사용하여 웹 응용 프로그램에서 웹 서비스를 호출하려면 확실히 CAS 프록시 기능을 사용해야합니다. 웹 서비스를 분류 할 수없는 경우 다른 옵션이 있습니다. Apache 모듈 (CAS : https://wiki.jasig.org/display/CASC/mod_auth_cas)을 사용할 수 있습니다.

+0

고마워요! 나는 이것이 가장 적절한 답이라고 생각합니다. 내 특정 상황에서 우리는 결국 캐스 프록시 티켓을 사용할 수 있고 나 그냥 바보 같아요 :) – Kris