2013-05-19 3 views
0

내 과제는 기존 JSF 애플리케이션을 JAX-RS 웹 서비스와 JSF 웹 클라이언트로 분리하는 것입니다. 분할은 비즈니스 계층에서 수행되어야합니다. 클라이언트와 서버 모두 다른 JBoss AS7.1에서 실행해야합니다. 현재 양측에서 컨테이너 관리 인증을 사용하고 있습니다. JSF-client는 역할 CUST가있는 사용자의 경우 uri-path/customers/*에 대한 액세스 권한 만 부여하고 역할 ADMIN이있는 사용자의 경우/admin/* 권한을 부여합니다. 물론 웹 서비스도 그의 자원을 보호합니다 (역할 : CUST & AMDIN). 웹 서비스 부분에 대한 인증은 분명합니다. 그래서 내 질문은 내가 JSF 클라이언트에 대한 적절한 인증을 제공하는 방법이다.JAX-RS 클라이언트 및 세션 관리

  1. 양측 자신의 인증 두 JBoss 응용 프로그램 서버간에 인증 된 사용자를 동기화하는 방법이 있나요 (동기화하기 어려운) 관리합니다 : 나를 위해 세 가지 가능성이있다?
  2. 양측은 자신의 인증 자격 증명을 관리하고, JSF-클라이언트는 각 요청
  3. 컨테이너 관리 인증은 웹 서비스 측에서 수행되는 웹 서비스에 UsernamePasswordCredentials로 전송합니다. 아니오 "인증되지 피어"는 JSF-클라이언트가 자신의 자격 증명을 입력하도록 강제하고 UsernamePasswordCredentials
난 정말이

로 다시 rquest 수행합니다 JSF 클라이언트가 정보를 요청하려고하고, 같은 응답의 경우 이 세 가지 접근법 중 하나가 실현 가능한지 (또는 여부)에 대한 아이디어. 불행히도 성공을 거두지 못한 웹을 모범 사례로 검색했습니다.

이 문제에 대한 알려진 최상의 방법은 없습니까? 또는이 문제를 해결하는 방법에 대한 힌트를 제공 할 수 있습니까?

답변

1

광고 1. 네, 당신은 "진정한 REST"응용 프로그램 세계에서 일반적인 방법의 광고 2.

인증

에 대한 OAuthCAS 또는 OpenID을 사용할 수 있습니다 - 각 통화가 상태이며, 매번 사용자 자격 증명을 통과해야 확인했다.

Ad 3. JSF 애플리케이션에 인증없이 액세스 할 수있는 데이터 만 포함 된 경우 (JSF는 일반 템플릿 임) 합리적인 해결책입니다.

+0

위대한 답변, THX! OAuth가 가장 적절한 해결책 인 것 같습니다. JBoss는 [Authentication with OAuth] (http://docs.jboss.org/resteasy/2.0.0.GA/userguide/html_single/#d0e2687)에 대한 훌륭한 문서를 제공합니다. –