2012-01-09 53 views
0

我在我的網站上提供了一項服務,並顯示廣告以免費提供。目前,我正在使用標準的同步POST請求:用戶提交表單,我的服務器正在處理結果頁並顯示它。 由於某些性能原因,我想讓我的站點處於異步狀態:創建一個REST/JSON API,它將使用Javascript從用戶瀏覽器中查詢,返回將由我的站點上的JavaScript代碼處理的服務結果以顯示它。我擔心的是我不想讓任何人使用這個API(這可以通過使用一些HTTP代理輕鬆發現)。確保公開的REST API

您是否已經遇到過這種問題?

謝謝

+0

它可能有助於告訴我們您正在使用哪種語言/框架/堆棧服務器端,然後我們可以爲您推薦身份驗證/授權選項。任何Javascript/JSON/REST/AJAX在很大程度上都是不相關的;這是通過IDing用戶並且知道他們可能訪問的數據的哪些部分在服務器上解決的問題。 – Cheekysoft 2012-01-09 17:23:45

+0

服務器端是ASP.NET,客戶端是Ajax。用戶完全匿名... – user1037471 2012-01-23 16:20:21

+0

對於完全匿名的用戶,您無法實現此目標,因爲所有用戶看起來都是相同的,因此隱含地擁有相同的權限。您需要在服務器端引入認證和授權。否則,你只能讓它變得更加困難,但絕不是不可能的。 – Cheekysoft 2012-01-24 11:16:09

回答

2

聽起來你想要實現一個認證模塊。我使用了兩種不同的(以Java爲中心的)方法來保護RESTful Web服務。

我已經使用Spring Security進行了一些基本的HTTP身份驗證,如果您正在實現的服務部署到Java Servlet容器或應用程序服務器上,則會起作用。它相當輕巧,易於入門。

目前我們正在使用OpenAM作爲我們的服務,它與理論上的Spring模塊類似,但採用了不同的方法。在我看來,它更健壯,更企業級,但需要更長的時間學習,設置和配置。

兩種方法都可以讓您安全訪問您的RESTful API(網址)。