我正在爲我的Rails應用程序構建一個API,我試圖爲API和應用程序邏輯重用相同的控制器。沒有認證用戶的請求很好,但如果某些操作需要認證,如何實現。我正在使用authlogic,編輯人員需要一些特定的權限,我正在檢查before_filter。如果我使用http基本身份驗證實現API,我如何區分?爲Rails應用程序實現API
0
A
回答
1
我認爲有兩個部分的答案。首先,您需要使用authlogic設置http basic auth。這樣做的詳細信息包含在此答案中:Rails: Basic Authentication with Authlogic
然後,您需要區分API調用和控制器中的普通瀏覽器調用。假設你的API是XML或JSON,你可以這樣做:
class ThingsController < ApplicationController
before_filter :authorize
def authorize
if params[:format] == 'json' || params[:format] == 'xml'
require_http_auth_user # http basic auth for API access
else
require_user # normal authlogic authentication
end
end
end
0
它可能是值得分離成兩個單獨的控制器,包括通過mixin的通用功能。這樣你可以分別授權控制器。
相關問題
- 1. 實現Coffeescript到Rails應用程序
- 2. 實現Rails API
- 3. 如何在Rails 3應用程序中實現更快搜索(Rails 3應用程序中鍵入(SAYT)api)
- 4. rails實時應用程序
- 5. 如何爲monodroid/mvvmcross應用程序實現社交api(facebook)?
- 6. 爲Android應用程序實現容器應用程序?
- 7. 爲web應用程序實現主題
- 8. 爲iPhone應用程序實現Voice Over
- 9. 將webcache實現爲web應用程序
- 10. 實現谷歌地圖API的應用程序做出反應
- 11. 將reCaptcha實現爲Rails 2.3.12應用
- 12. Rails設計應用程序爲移動應用程序創建REST api
- 13. 爲旅程共享應用程序實現正確的模型 - Rails
- 14. 使用Websockets在Rails應用程序中實現自動保存
- 15. 我有一個Rails應用程序,需要實現使用AuthLogic
- 16. Rails API - 投票應用程序,協會
- 17. 在現有Rails應用程序中嵌入React應用程序
- 18. 實現使用應用程序上下文API - 爾康
- 19. 使用OAuth和單頁應用程序實現Web API
- 20. 在Rails應用程序中實現規則引擎
- 21. 在Ruby on Rails 3應用程序中實現搜索?
- 22. 如何實現谷歌地圖到我的Rails應用程序?
- 23. 在Rails應用程序中實現「記住我」
- 24. 如何在non rails應用程序中實現erb partials?
- 25. 在Rails應用程序中實現類似Gmail的標籤
- 26. 無法在Rails 4.2應用程序中實現recaptcha gem選項
- 27. 在Rails應用程序中實現鏈接列表堆棧
- 28. 在Rails應用程序中實現投票的最佳方式?
- 29. 如何在Rails應用程序中實現虛空URL?
- 30. 如何爲現有的Ruby on Rails 5應用程序創建REST API?