2011-09-13 4 views
0

나는 며칠 동안이 작업을 해왔고 누군가 나를 도울 수 있기를 바랍니다.스프링 보안을 사용하여 인증하는 동안 문자열 값을 전달하는 방법 OpenID

인증 처리에는 세 가지 요구 사항이 있습니다.

  1. OpenID를 사용하여 인증하는 로그인 페이지는 login.jsp입니다. 로그인이 성공적으로 끝나면 login-succ.jsp에 사용자 이름과 전자 메일 주소를 표시하십시오.
  2. login.jsp에 입력 필드가 있고 로그인이있는 경우 login-succ.jsp에 mymessage 값을 표시해야합니다. successfully
  3. 성공적으로 로그인 한 후 사용자 이름은 사용자 이름 전자 메일 주소 및 mymessage 값과 함께 login-succ.jsp에 있습니다. 사용자가 login-succ.jsp 페이지를 새로 고치면이 세 값이 다시 표시되어야합니다.

나는 나의 또 다른 post에서 CustomOpenIDAuthenticationFilter를 사용하여 이러한 세 가지 요구 사항을 달성하기 위해 노력했다,하지만 난 세션에 메시지를 저장하고의 login.jsp의 두 인스턴스가있는 경우, 두 개의 인스턴스가 각 메시지의 값을 덮어 쓰게됩니다 다른 새로 고침 동작 후. 내가 모든 일을 잘못하고 있는지 나는 모른다. 스프링 보안과 스프링 MVC를 사용하여 이러한 세 가지 요구 사항을 충족시키는 방법에 대한 제안을 해주실 수 있습니다.

감사합니다.

답변

0

나에게 이것은 어떤 유형의 주입 공격을 요구하는 디자인처럼 느껴진다. 페이지에 맹목적으로 사용자에게 표시되는 URL 매개 변수는 이고 실제로는이 아닙니다.

대신 사용자가 OpenID 로그인으로 리디렉션되기 전에 HttpSession에 메시지를 붙이고 성공적으로 리디렉션 된 후 메시지를 검색합니다. 분명히 실패, 로그 아웃 등의 경우 세션에서 메시지를 지우려면 코드가 필요합니다.

+0

감사합니다. httpSession이 마지막 선택입니다. login-succ.jsp의 인스턴스가 여러 개있는 경우 세션을 겹쳐 쓸 수 있으므로 요구 사항 1과 2 (3은 아님)를 얻을 수 있습니다. – user200340

관련 문제