2012-01-12 2 views
2

두 개의 별도 웹 응용 프로그램을 통합하려고합니다. 하나는 자체 보안 패러다임이있는 기존 사용자 지정 웹 응용 프로그램이고 다른 하나는보고 플랫폼 (JasperServer)입니다. Jasper의 웹 서비스 인터페이스를 사용하여보고 기능을 애플리케이션에 통합하고 싶습니다. 우리의 보안 모델은 복잡하고 집에서도 재배되지만 희망이 있다고 생각합니다.봄 사용자 지정 SSO

웹 서비스 URI가 포함 된 암호화 된 문자열 인 쿠키를 인증 소스로 설정하고 사용자가 로그인 할 때 생성되고 로그 아웃 할 때 생성되는 데이터베이스에 저장된 토큰을 설정합니다. 재스퍼에서 스프링 보안을 사용하기 때문에 일종의 SSO를 구현할 수 있다고 생각합니다.

무엇을 내가 THINK해야합니까 위에서 언급 한 쿠키를 확인하는 사전 인증 필터를 구현하는 것입니다. 그러면 암호를 해독하고 제공되는 인증 소스에 대한 웹 서비스 호출을 만들어 토큰이 데이터베이스에서 활성화되어 있는지 확인할 수 있습니다. 그럴 경우 해당 토큰을 사용하여 UserDetails 객체로 반환 될 수있는 사용자 및 역할 정보를 가리킬 수 있습니다.

불행히도, 나는 충분히 위험하지만 충분히 효과적이지는 않습니다. 나는 올바른 길을 가고 있는가? 이 솔루션은 견딜만 한가요? 그렇다면 시작하기 좋은 곳이 어디인지, 비슷한 점이 있습니까? 저는 꽤 많이 조사했고 법안에 맞는 것을 찾지 못했습니다. 어떤 내게

+0

두 서버가 동일한 도메인 또는 호스트 이름을 공유합니까? – sourcedelica

+0

반드시 그렇지는 않습니다. 사실, 많은 경우에 그들은 그렇게 대답하지 않을 것입니다. –

답변

0

쿠키 도메인/하위 도메인/경로 및 포트에 연결되어 희망의 희미한 빛을 제공 할 수있는 모든 사람에게 미리

감사합니다. 도메인 수준에서 쿠키를 설정할 수 있으므로 webapp.mydomain.com 및 jasper.mydomain.com과 같은 포트가 있으면 같은 포트에 있다고 가정해도 괜찮습니다.

그러나 매우 자신의 SSO/인증 프레임 워크 구현에주의하십시오. 그것은 많은 생각을 필요로합니다. 제안 된 구현은 리플레이, 중간에있는 사람, XSRF 공격 등의 취약점에 취약 할 수 있습니다. 다른 취약점이있을 수 있지만 이러한 문제는 단지 3 가지입니다. 죄송합니다! : D

관련 문제