2014-12-06 2 views
0

웹 신청서를 입력하려면 username and password authentication이 필요합니다.JSESSIONID를 사용하여 계속되는 세션

나는이 일을하고 무엇

, usernamepassword를 사용하여 서버에 Http 요청하여 그렇게 할 것 독립형 Java app에서 사용자를 인증합니다. 그런 다음 서버 응답에서 JSESSIONID 쿠키를 검색합니다.

이제는 이 인증에 사용하는 독립형 자바 응용 프로그램에서 열리는 내 웹 응용 프로그램 페이지를 탐색하도록 브라우저에서 세션을 계속하려면이 JSESSIONID을 사용하는 것이 좋습니다.

이게 가능합니까? 다른 방법이 있습니다.

답변

0

쿠키는 다음 방법을 사용하여 변경할 수 있습니다. 응용 프로그램에서

 Cookie cookie = new Cookie("JSESSIONID", NEWSESSIONID); 
     response.addCookie(cookie); 

당신은 브라우저를 처음 열 때 매개 변수로 JSESSIONID를 보내고 필터 나 서블릿에서 두 방법 중 하나 이상 사용하여 쿠키를 재설정 할 수 있습니다. 응답을 보내면 클라이언트 측의 쿠키가 재설정됩니다. 와드에 대한 다음 요청은 이전에 생성 된 세션에 액세스 할 수 있습니다.

+0

내 웹 앱에 액세스하면 요청을 보내지 않습니다. –

+0

세부 정보없이 애플리케이션을 탐색하고 있으므로 세션을 어떻게 유지 관리 할 수 ​​있습니까? 인증 후 독립 실행 형 응용 프로그램에서 브라우저를 여십니까? –

+0

예, 저도하고 싶습니다. –

0

하지만 그렇게 간단하지는 않습니다.

웹 응용 프로그램이 세션을 공유하지 않으므로 사용자가 찾고있는 것은 싱글 사인온 (SSO) 솔루션이며 하나 이상의 "서비스"에 대해 사용자를 인증하는 "ID 제공자"(IdM) 제공자 "(SP). 이 경우 서블릿은 IdM이고 웹 앱은 SP입니다.

  • 커버 로스
  • OpenAM (JBOSS에 대한)
  • PicketLink을 (위해 :

    는 배포에 따라 다음은 사용할 수 있습니다 타사 오픈 소스 SSO 라이브러리입니다 Tomcat)

타사 라이브러리를 사용하지 않으려면 서블릿을 IdM으로 수정할 수도 있습니다. 어쨌든, 솔루션을 결정하기 전에 SAML (Security Assertion Markup Language)에 대해 조금 읽으십시오. SAML은 위의 라이브러리가 구현하는 널리 사용되는 방법입니다.

관련 문제