【发布时间】:2013-10-24 21:22:47
【问题描述】:
我使用的是 rails 4 和舒适的墨西哥沙发。我希望通过密码保护来保护一些 cms 页面。他们不需要非常安全。以下代码给了我一个未定义的方法错误:
module CmsPagesAuth
def authenticate
http_basic_authenticate_with name: "dhh", password: "secret"
end
end
该方法是 ActionController::HttpAuthentication::Basic 的一部分 如何访问相关方法?还是有更好的方法来解决这个问题?提前感谢您提供任何建议、解决方案或见解。
【问题讨论】:
-
您必须在控制器中执行此操作
-
application_controller.rb?
-
是的,如果您希望将其应用于所有控制器。如果没有,将其添加到特定的控制器中
-
我看到您阅读了有关此的 wiki 条目。凉爽的。但我认为您想使用
authenticate_or_request_with_http_basic方法apidock.com/rails/ActionController/HttpAuthentication/Basic/… 它基本上是默认身份验证cms 使用的实现:github.com/comfy/comfortable-mexican-sofa/blob/master/lib/… 如果您只想保护某些页面,只需在进行基本身份验证之前检查@cms_path.full_path。跨度> -
@Grocery,谢谢。你的建议奏效了,我在正确的轨道上。我对您的建议的实施似乎与 CMS 管理员身份验证相冲突,因此我可能不得不使用其他形式的身份验证,但您的建议解决了一些问题。谢谢。
标签: ruby-on-rails http-authentication comfortable-mexican-sofa