2012-04-09 10 views
1

은 권한이없는 클라이언트에 대한 REST API 호출을 차단하는 방법입니까? 은 소수의 잘 정의 된 클라이언트에 대해 (공개) API를 "제한"하도록하는 방법이 있습니까? 당신은 배포 할 수 있습니다REST API 호출 차단

+0

서버에 연결할 수있는 사람을 보호해야합니다. – paulsm4

+1

REST는 API를 공개하지 않습니다. RPC와 혼동을 느낍니다. 'http : // en.wikipedia.org/wiki/REST' –

+0

REST가 아닌 다른 것을 의미한다고 가정 할 때, 어떤 서버 플랫폼/언어/프레임 워크를 사용하고 있습니까? –

답변

2

:-)

덕분에 당신의 클라이언트와 서버 사이에 SSL을 상호 인증. 여기에서 자체 서명 된 인증서를 사용할 수 있으므로 CA에서 인증서를 구입할 필요가 없습니다. 이렇게하면 서버가 클라이언트 측 인증서가있는 클라이언트의 요청 만 수락합니다 (클라이언트 인증을 위해 클라이언트에 배포 된 자체 서명 클라이언트 인증서 만 수락하도록 서버를 구성).

1

당신이 : 편안하고 HTTP

를 사용하는 경우 당신은 당신의 REST 방법에 접근 권한이없는 클라이언트를 방지 당신의 web.xml에 HttpServletFilter를 추가 할 수 있습니다. 당신은 스프링 프레임 워크 당신을 사용하고 HttServletFilter 자신을 구현하지 않으려면

그래서, 당신은 당신이 당신의 RESTful 서비스에 보안 메커니즘을 구현해야 Spring Security

1

을 사용할 수 있습니다 Securing JAX-RS and RESTeasy

를 참조하십시오 인증되지 않은 클라이언트에 대한 액세스를 거부합니다 (404 또는 401 응답 코드 사용). Basic Authentication

  • 같은 HTTP 인증 메커니즘에

    • 릴레이, HTTP 기본 인증의 한계를 극복하는 사용자 인증 프레임 워크를 구현 : 여러이를 달성 할 수있는 방법이 있습니다. Amazon에는 사용자 지정 HTTP 헤더와 해싱을 포함하는 흥미로운 접근 방식이 있습니다.
    • 기존 보안 프레임 워크를 사용하고 해당 기능을 서비스에 추가하십시오. Spring Security은 훌륭한 옵션이라고 생각합니다.