2013-02-04 4 views
0

정상적인 로그온 사이트가있는 jsf 응용 프로그램이 있습니다. 이제 우리는이 응용 프로그램을 다른 응용 프로그램과 통합해야하며 문제는 두 응용 프로그램간에 매개 변수를 전달하는 것입니다. 한 응용 프로그램에 클라이언트 ID가 있고 두 번째 응용 프로그램에서 로그온 페이지를로드해야하고 두 번째 응용 프로그램에 클라이언트에 대한 첫 번째 응용 프로그램에 알리는 가장 쉬운 방법은 로그인 페이지를 매개 변수와 함께로드하는 것입니다. 첫 번째 애플리케이션의 클라이언트 ID로그인 사이트 매개 변수가있는

다른 방법으로 두 번째 응용 프로그램은 독립적으로 작동해야하므로 매개 변수가없는 로그인 페이지와 매개 변수가있는 로그인 페이지가 필요합니다. 이 방법으로도 가능하거나이를 수행 할 수있는 또 다른 방법이 있습니다.

답변

0

두 번째 응용 프로그램은 두 가지 형태의 단일 로그인 페이지를 가질 수 있습니다.

첫 번째 응용 프로그램의 일부 ID를 세션 속성의 일부로 전달하고 두 번째 응용 프로그램의 로그인 페이지에서 해당 세션 속성을 가져올 수 있습니다. 여기서 세션 속성 (null인지 아닌지)을 확인하고 해당 양식을 적용 가능한 것으로 렌더링 할 수 있습니다. 대신, 두 번째 응용 프로그램의 로그인 페이지를 직접 방문하면이 세션 속성이 나타나지 않고 다른 양식을 적용 가능한 것으로 렌더링 할 수 있습니다.

0

두 개의 다른 응용 프로그램간에 세션을 공유 할 수 없습니다. 첫 번째 응용 프로그램에서 두 번째 응용 프로그램으로 매개 변수를 전달하려는 전략이 나에게 맞는 것 같습니다.

로그인을 공유하려는 경우 다른 방법으로는 첫 번째 응용 프로그램에서 암호화 된 쿠키에 로그인 정보를 추가하고 다른 응용 프로그램으로 리디렉션하면 두 번째 응용 프로그램이 암호화 된 쿠키를 기반으로 로그인을 확인할 수 있습니다.

두 응용 프로그램이 쿠키를 (예 : .xyz.com) 받아들이는 같은 도메인에서 실행해야

이는 SSO (싱글 사인온) 응용 프로그램의 대부분은 쿠키로 LTPA 토큰을 사용하여 세션을 공유하는 방법입니다 .

+0

동일한 서버 및 도메인에서 실행되는 경우 세션을 공유 할 수 있습니다. – BalusC

+0

두 개의 웹 응용 프로그램간에 세션을 공유 할 수 있습니까? 필자는 일부 애플리케이션 서버가 클러스터 간의 세션 직렬화 및 직렬화 해제를 통해이를 제공하지만 일부 클러스터에 배치 된 동일한 애플리케이션에서만 작동한다는 것을 이해했습니다. –

+0

동일한 서버 및 도메인에서 실행되는 경우 세션을 공유 할 수 있습니다. – BalusC

관련 문제