내 응용 프로그램을 서비스하는 데 사용되는 세 개의 웹 응용 프로그램 시스템 A, B & C가 있습니다. A 시스템은 핵심 비즈니스 로직을 가지며 전체 애플리케이션에 대한 사용자/계정 데이터를 저장합니다. 시스템 B & C는 응용 프로그램에 추가 기능을 제공해야합니다.분산 웹 응용 프로그램 시스템의 보안
사용자 U가 메인 시스템 A에 로그인하고 시스템이 사용자 U의 요청을 다른 시스템 B에 인증하는 데 필요한 현재 세션의 보안 토큰을 생성하는 보안 메커니즘이 생각났습니다. & C. 사용자가 시스템 A에 로그인하는 순간 내부적으로 토큰을 생성하고 서브 시스템 B & C.에 토큰 xyz를 보냅니다. 이제 사용자 U는 서브 시스템 B & C에 유효한 토큰을 사용하면 사용자는 리소스에 액세스 할 수 있습니다. 그러나 이것이 최선의 접근법인지 정확한지는 확실하지 않습니다.
그래서 전체 워크 플로에 대해 다소 혼란 스럽습니다. 이와 관련하여 도움이 될 것입니다.
Java로 개발하므로 이미 관리하는 모듈로 인해 개발 시간이 많이 절약됩니다. 나를 안내 해줘.
OpenId를 사용하여 GUI에서 사용자를 인증 할 계획입니다. 사용자가 인증되면 다른 두 시스템에 B & C에게 사용자에게 시스템 호출을 허용해야한다는 것을 알릴 수있는 메커니즘이 필요합니다. Stanford WebAuth가 나를 도울 수 있는지 확실하지 않습니다. 세 시스템 A, B 및 C는 모두 HTTP/HTTPS를 통해 실행되는 웹 응용 프로그램입니다. – Qedrix
설명했듯이 A는 OpenID 인증이 성공한 후에 만 토큰을 발급하는 토큰 기반 프로토콜을 사용할 수 있습니다. 또한 B + C가 OpenID 인증을 독립적으로 확인하도록 설정할 수도 있습니다. 또는 HTTPS 보안 및 세션 id 고유성에 의존하고 A-B-C (예 : memcached) 사이의 공유 메모리에서 세션 변수를 사용할 수 있습니다. 덜 안전하지만 아마 충분히 좋습니다. WebAuth는 백엔드에서 Kerberos를 사용하는 경우에만 도움이됩니다. – Borealid