2013-03-03 3 views
2

jquery를 사용하여 웹 양식 응용 프로그램에서 호출되는 asp.net 웹 API 서비스가 있습니다. 폼 기반 인증과 AuthorizeAttribute를 사용하여 특정 역할 만 데이터에 액세스하도록 허용합니다.내 Asp.net WebApi를 호출하는 클라이언트를 확인하십시오.

내 웹 API에 대한 메소드가 있습니다. ID를 가져 오면 인증 된 사용자가 URL을 찾아 데이터베이스에서 데이터를 탐색 할 수 있다는 생각이 맘에 들지 않습니다. 웹 API를 호출하는 클라이언트의 유효성을 검사 할 수 있습니까? 그래서 내 jquery 코드에서 웹 API를 호출하면 작동하지만 누군가 브라우저에 URL을 입력하면 액세스가 거부됩니까?

도움을 주셔서 감사합니다. 웹 API가 훌륭합니다! 나는 그 청중을 길들이기 만하면된다.

+0

Google 인증 웹 API - http://blog.developers.ba/post/2012/03/03/ASPNET-Web-API-Authorization-using-Tokens.aspx – Prescott

+0

좋습니다. 토큰을 사용하십시오 .. 해당 페이지에 표시된 코드는 토큰에 대해 유효성을 검사하는 방법을 보여줍니다 ..하지만 얻지는 않습니다 - 처음 토큰을 얻는 방법 (페이지에서 aspx 페이지를로드 할 때 토큰을 추가합니까?) 내 대답에 어떻게?) 그리고 그것이 aspx 페이지에 안전하게 저장되는 방법과 jquery에서 토큰을 월드에 노출하지 않고 사용하는 방법에 대해 설명합니다. –

+0

그 게시물은 실제로 쿼리 문자열을 통해 토큰을 전달합니다. 그래서 토큰이 유효 할 때 네트워크 트래픽을 모니터링하고 자신의 URL을 만들 수있는 방법으로 문제가 해결되는 것을 보지 못합니다. –

답변

0

jQuery가 웹 API 메소드를 호출하는 데 사용하는 api 키를 사용할 수 있으며 해당 키의 유효성을 검사하는 MessageHandler가 있습니다 (여기에서 설명하는 것처럼 http://www.strathweb.com/2012/05/implementing-message-handlers-to-track-your-asp-net-web-api-usage/). 그러나 웹 API 메서드는 인증 된 사용자가 데이터를 반환하기 전에 지정된 ID에 대한 액세스 권한을 갖고 있는지 확인해야한다고 생각합니다.

감사합니다. 파블로.

관련 문제