2014-02-13 5 views
0

저는 두 개의 별도 프로젝트를 만들고 있습니다. Spring 4.0을 사용하는 Rest 서비스와 ZK 및 Spring을 사용하는 동적 웹 사이트.shiro의 Spring Rest

Rest Services와 웹 사이트를 모두 보호하여 사용자가 웹 사이트를 탐색하거나 Rest Services를 요청하기 전에 권한을 부여 받아야합니다.

우리가 승인을 위해 한 곳을 가질 수 있는지 궁금합니다. 이것이 가능하며 두 사이트간에 사용자의 신원을 공유하는 방법은 무엇입니까?

나는 시로를 생각하고 있니? (이름이 암시하는 것처럼)

어떤 아이디어

BR Shahbour

답변

1

체크 아웃 봄 보안, 그것은 봄에 정말 쉽게 통합됩니다. 사용자가 두 앱 모두에 로그인 상태를 유지하는 방법은 몇 가지 옵션이 있습니다. 가장 간단한 방법은 두 앱이 액세스 할 수있는 사용자 정보가 저장되는 중앙 데이터베이스를 만드는 것입니다. 두 앱 모두에 스프링 보안을 추가하십시오. 웹 응용 프로그램은 사용자가 인증을 요구하고 REST 서비스를 호출 할 때마다 현재 사용자의 사용자 이름/암호를 제공합니다. REST 서비스는 사용자 이름/암호를 수락하고 사용자를 다시 인증합니다. 이 접근법은 웹 UI없이 REST 서비스를 직접 사용하려는 경우에도 작동합니다.

+0

안녕하세요 \t 중앙 집중식 DB가 이미 존재하지만, 제안 된 솔루션을 내 문제는 : \t 1) 나는 위험 또는 권장하지 보인다 각각의 요청에 그것을 사용하는 암호를 저장해야합니다. \t 2) Rest 요청마다 다시 인증해야합니다. 나는 보안 관리자를 공유 할 수 있는지, 아니면 보안을 위해 스프링 보안과 동등한 내용을보고 싶었습니다. BR Shahbour – Shahbour

+0

@Shahbour - 1) 각 요청마다 인증을 제공한다고하는 것이 '위험하거나 권장하지 않습니까?' 2) 확장 가능한 사이트/서비스를 설계하는 데는 여러 가지 방법이 있습니다. 앱을 구성 요소로 분리하는 것과 같은 일을하는 것입니다. 귀하의 웹 사이트는 상태를 유지해야합니다, 주위에 방법이 없습니다, 그렇지 않으면 사용자가 페이지에서 사람을 잊을 것입니다. 그러나 당신의 휴식 서비스는 무국적이어야합니다. 그것이 그것이 더 나은 확장을 가능하게합니다. 그것은 요청을 받고, 완료하고, 당신에 대해 잊어 버립니다. – SergeyB

+0

안녕하세요. 위험하다고 말했을 때 암호를 저장하고 요청할 때마다 보내는 것이 좋습니다. 나머지는 휴식 서비스에 매우 합리적입니다. – Shahbour