2012-06-06 4 views
1

서버 측과 클라이언트 측에 대해 서로 다른 응용 프로그램 서버에서 WAR을 분리했습니다. 서버 측과의 UI 상호 작용은 REST API를 통해 이루어진다.Java EE에서 보안 및 인증 + REST API 호출 승인

이제 문제는 REST 서비스가 8080 포트에서 호스팅된다는 것입니다. URL을 제공하면 결과 XML을 볼 수 있습니다. 이제는 위험합니다. 클라이언트 측 WAR에서 발생한 요청 이외에 다른 사람이 실제로 결과를 보지 못하도록하고 싶습니다. 클라이언트 측 인증 및 권한 부여가 있지만 서버 측 WAR에 어떻게 전달해야합니까? 워크 플로를 설명하기 위해 샘플 사용 사례를 알려 드리겠습니다. 1. 사용자가 모든 주문을 볼 것을 요구합니다. 이제 게시 요청과 적절한 REST API에서 전송 된 userid가 호출되고 해당 userrid에 대한 모든 주문이 반환됩니다. 이제 내 걱정은 그 URL을 아는 사람은 실제로 모든 사용자의 모든 주문 목록을 얻을 수 있습니다. 이 인증되지 않은 요청 및 인증되지 않은 요청을 어떻게 중지합니까? 다른 컨테이너에 배포 된 클라이언트 및 서버 측의 두 가지 WAR 시나리오에서 권한 및 인증을 통합하는 가장 좋은 방법은 무엇입니까?

+0

사용자가 원하는 경우 - 사용자가 자격 증명을 가지고 있어도 데이터를 가져올 수 있지만 권한이없는 사용자로부터 URI를 제한하려는 경우 ? –

+0

글쎄, 기본적으로 나는 서버 쪽 요청이 올바르게 인증되고 권한이 부여되도록하고 싶다. AWS는 이것을 어떻게 보장합니까 ... 나머지 API를 기반으로합니다 ... – arya

답변

1

토큰을 생성 할 때 사용자의 서버 측에 저장 에서 로그뿐만 아니라 토큰 쿠키가 자동으로 요청 서버에 대한 요청이 적을를 진행하고 해당 쿠키를 얻을 수있을 때

이제 쿠키에 클라이언트 측에서 설정 한 서버 측에서는 @CookieParam 입니다. 따라서 사용자가 쉽게 인증되었는지 확인할 수 있습니다.

+0

이것이 좋은 방법인지 확실하지 않습니다. https에 인증 된 객체를 추가하고 암호화하면 트릭을 수행 할 수 있습니다. 무엇 U 말? – arya

+0

https는 어떤 트릭도 할 수 없다고 생각합니다 (두 개의 ServletAdaptor를 사용하십시오. "안전한" "보안"에서 하나의 서블릿을 작성하고 서블릿에서 먼저 "그렇지 않으면"로 리디렉션하는 것보다 괜찮 으면 인증을 수행하십시오. –

+0

흠 ... 의미가 있지만 인증 방법은 무엇인가에 기반을 둔다는 것을 의미합니다. UI 레이어에서 나머지 API로 전달해야하는 내용이므로 요청을 인증하고 권한을 부여 할 수 있습니다. 또한 ' imp '요청 매개 변수를 간단한 텍스트로 바로 사용 하시겠습니까? – arya