设备中的摘要认证

5

我正在使用Rails 3和Devise进行身份验证。我有一个适用于网站的正常工作的Devise,以及适用于API(json处理器)的基本身份验证。我如何启用摘要认证?

他们的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

我应该将它添加到哪里,如何使用户名称/密码匹配?

1个回答

1

那个维基百科条目确实假设了很多东西。

我最好的猜测是,您需要将其添加到适当的控制器中(或者如果您希望为所有内容都添加它,则添加到应用程序控制器中)。

然后添加一个:before_filter:http_authenticate!您还可以尝试找到编写该维基页面的人并询问他们。

请注意。这依赖于Warden执行您的身份验证-Devise仅处理帐户。

这些东西文档不太好的原因之一是大多数人使用复杂的身份验证管理系统(例如OmniAuth),以及其他用于权限/授权的东西,例如DeclarativeAuthorization或CanCan(如果您喜欢更轻量级的东西)。

HTTPBasic(我假设Digest也是如此)往往与这些东西不兼容。


那看起来确实像是一个绕路,但我认为devise/awarden应该为我处理基本/摘要身份验证。这确实不是我的应用逻辑,应该由gems/rack来处理。 - Zepplock
你成功地使用 Devise 实现了摘要认证吗?我也遇到了同样的问题,需要一些帮助。 - Cliff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接