2012-01-09 14 views
0

나는 내 사이트에서 서비스를 제공하고 있으며 무료로 제공하기 위해 광고를 표시하고 있습니다. 현재 표준 동기 POST 요청을 사용하고 있습니다. 사용자가 양식을 제출하면 내 서버가 결과 페이지를 처리하고 표시합니다. 성능상의 이유로 사이트를 비동기로 만들고 싶습니다. Javascript를 사용하여 사용자 브라우저에서 쿼리되는 REST/JSON API를 만들고 내 사이트의 자바 스크립트 코드가 처리 할 서비스 결과를 반환합니다. . 내 관심사는 누군가가 (일부 HTTP 프록시를 사용하여 쉽게 발견 할 수있는)이 API를 사용하게하고 싶지 않다는 것이다.공개 REST API 보안

이 문제에 이미 직면 했습니까?

고맙습니다.

+0

서버 측에서 사용중인 언어/프레임 워크/스택을 알려 주시면 인증/권한 부여 옵션을 제안 해 드리겠습니다. 모든 자바 스크립트/JSON/REST/AJAX는 대부분 관련성이 없습니다. 이는 사용자 ID를 지정하고 액세스 할 수있는 데이터 부분을 파악하여 서버에서 해결되는 문제입니다. – Cheekysoft

+0

서버 측은 ASP.NET이고 클라이언트 측은 Ajax입니다. 사용자는 완전히 익명입니다. – user1037471

+0

완전히 익명의 사용자는 모든 사용자가 동일하게 보이므로 암시 적으로 동일한 권한을 가지므로이를 확인할 수 없습니다. 서버 측에서 인증 및 권한 부여를 도입해야합니다. 그렇지 않으면 더 어렵게 만들 수 있지만 불가능한 것은 아닙니다. – Cheekysoft

답변

2

인증 모듈을 구현하려는 것 같습니다. 저는 RESTful 웹 서비스를 보호하기 위해 2 가지 (자바 중심) 접근 방식을 사용했습니다.

일부 기본 HTTP 인증에 Spring Security을 사용했으며 구현중인 서비스가 Java Servlet Container 또는 Application 서버에 배포 된 경우 작동합니다. 상당히 가볍고 시작하기 쉽습니다.

현재 우리는 이론상 스프링 모듈과 비슷한 서비스를 위해 OpenAM을 사용하고 있지만 다른 접근 방식을 취합니다. 필자의 견해로는 더 강력하고 엔터프라이즈 급이지만 학습, 설정 및 구성에 더 오래 걸립니다.

어느 방법을 사용해도 RESTful API (URL)에 대한 액세스를 보호 할 수 있습니다.