我正在使用Rails 3和Devise进行认证。我有一个正常工作的网站Devise和基本的API认证(json handler)。我如何启用摘要验证?
他们的Wiki告诉我添加
def http_authenticate
authenticate_or_request_with_http_digest do |user_name, password|
user_name == "foo" && password == "bar"
end
warden.custom_failure! if performed?
end
我应该把它添加到哪里,如何让user_namepassword匹配?
这个维基条目肯定假设了很多。
我最好的猜测是你需要把它添加到相应的控制器中(如果你想让所有的东西都使用它,则添加到应用程序控制器中)。
然后添加一个 :before_filter :http_authenticate!你也可以尝试追踪写那个维基页面的人,问他们。
注意:这是靠Warden来执行的。这依赖于Warden来执行你的认证--Devise只处理账户。
这个东西没有被记录下来的原因之一是大多数人使用一个复杂的身份验证管理系统(例如OmniAuth),还有一些其他的权限授权,例如DeclarativeAuthorization或CanCan,如果你喜欢更轻量级的东西。
HTTPBasic (我认为是Digest)往往不能很好地与这些系统配合。