我正在爲我的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. 現有Rails應用程序的REST API
- 2. 如何使用Authlogic實現Rails應用程序的API認證
- 3. 實現Coffeescript到Rails應用程序
- 4. 如何在rails應用程序中實現api
- 5. 如何將Rails 5 API應用程序轉換爲可充當API和應用程序的Rails應用程序?
- 6. 如何爲現有的rails應用程序構建版本API?
- 7. 實現Rails API
- 8. 如何在Rails 3應用程序中實現更快搜索(Rails 3應用程序中鍵入(SAYT)api)
- 9. 爲rails應用程序實現移動視圖
- 10. 爲我的Rails應用程序實現Observer模式
- 11. rails實時應用程序
- 12. 如何爲monodroid/mvvmcross應用程序實現社交api(facebook)?
- 13. Part-Rails-API/part-Rails應用程序
- 14. 爲Android應用程序實現容器應用程序?
- 15. 爲iPhone應用程序實現Voice Over
- 16. 將webcache實現爲web應用程序
- 17. 爲web應用程序實現主題
- 18. 使用curl訪問實現設計的Rails應用程序的後端API
- 19. 使用我的Rails應用程序API for iPhone應用程序
- 20. 實現谷歌地圖API的應用程序做出反應
- 21. 將reCaptcha實現爲Rails 2.3.12應用
- 22. 爲旅程共享應用程序實現正確的模型 - Rails
- 23. Rails設計應用程序爲移動應用程序創建REST api
- 24. 使用rails 4實現wrapbootstrap主題的問題應用程序
- 25. 使用Websockets在Rails應用程序中實現自動保存
- 26. 我有一個Rails應用程序,需要實現使用AuthLogic
- 27. 在rails應用程序中實現使用分析
- 28. Rails API - 投票應用程序,協會
- 29. 在現有Rails應用程序中嵌入React應用程序
- 30. 使用Java API的增強現實應用程序?