2013-09-06 2 views
0

타사에서 액세스하지 못하도록 (JAX-RS 저역) RESTFul API를 제한하는 가장 좋은 (그리고 easay) 방법은 무엇입니까?액세스를 제한하는 가장 좋은 방법 Java EE RESTFul API

(해당 API를 내 응용 프로그램에서만 사용하고 싶습니다.)

+1

동일한 HTTP 세션을 공유하는 경우 세션 범위에서 키/토큰을 설정하고 확인하십시오. 예를 들어 로그인 한 사용자 일 수 있습니다. 이것은 100 % 제한을 제공하지 않지만 다른 사용자가 실제로 API를 사용하는 것이 더 어려워집니다. – BalusC

답변

1

몇 가지가 있습니다. 단순 순서대로 다음과 같습니다.

  1. 방화벽에서 차단 액세스.
  2. HTTP-BASIC 인증.
  3. API 키 (공유 보안) 인증.
  4. CAS
  5. OAuth.

어떤 종류의 추가 요구 사항이 있는지에 따라 다릅니다. 그러나 귀하의 간단한 설명에서, 귀하의 경우에는 간단한 방화벽이 최선의 해결책이라고 생각합니다.

응용 프로그램 수준에 대한
+0

방화벽이 응용 프로그램 수준 (예 : 서블릿 필터) 또는 기타 전용 외부 추가 조치로 구현 되었습니까? – siva636

+0

API가 다른 공개 애플리케이션 (예 : 웹 사이트)에서 직접 사용되는 경우 방화벽이 적합하지 않습니다. – BalusC

+0

@DUKE 전심적 인 대책을 말씀드립니다. 그러나 그것은 당신의 프로젝트에 달려 있습니다. –

0

, 당신은 봄 보안http://www.springsource.org/spring-security을 시도 할 수 있습니다 및 URL 수준에서 제한하거나 좀 더 간단하게하려는 경우 web.xml을에 넣어 서블릿 사양 API를 사용하여 작업을 수행 할 수 있습니다, 기억 편안한 웹 서비스 수명주기는 서블릿과 동일하게 작동합니다.

+0

정확히 어떻게 스프링 보안을 사용하겠습니까? 인터페이스를 어떻게 처리할까요? –

+0

@DUKE의 필요성은 내재적입니다 (HTTP-BASIC). @DUKE는 자신의 응용 프로그램에서만이 API를 사용하기를 원합니다. 응용 프로그램에 보안을 추가하면 인증하지 않으면 아무도 API에 액세스 할 수 없습니다. 인증을받은 다음 전체 API에 액세스 할 수 있습니다. 보안 설정 방법과 프로젝트 요구 사항에 따라 다릅니다. – cesarggf

관련 문제