我試圖讓我的Rails應用程序工作的基本http身份驗證。我提供了一個由Rails服務器提供的簡單REST接口,只有xml/json輸出。Rails 2.x http基本身份驗證
每一個方法需要進行認證的,所以我把在ApplicationController中的身份驗證過濾器:
class ApplicationController < ActionController::Base
helper :all # include all helpers, all the time
before_filter :authenticate
protected
def authenticate
authenticate_or_request_with_http_basic do |u, p|
true
end
end
end
即使具有方法返回true,我從服務器接收401:
$ curl http://127.0.0.1:3000/myresource/1.xml -i
HTTP/1.1 401 Unauthorized
Cache-Control: no-cache
WWW-Authenticate: Basic realm="Application"
X-Runtime: 1
Content-Type: text/html; charset=utf-8
Content-Length: 27
Server: WEBrick/1.3.1 (Ruby/1.9.1/2010-01-10)
Date: Thu, 03 Jun 2010 02:43:55 GMT
Connection: Keep-Alive
HTTP Basic: Access denied.
如果我明確返回true,但獲得服務401.
是否有反正我可以在用戶不提供登錄名/密碼對的情況下顯示一個XML生成器視圖?我想給出一個描述性的錯誤信息。 – randombits 2010-06-03 03:01:23