【问题标题】:setting up ssl on devise在设计上设置 ssl
【发布时间】:2011-06-13 07:50:39
【问题描述】:

我想在设计时要求对用户资源进行 ssl 身份验证。我期待它像在 Rails 中一样简单,例如:

  devise_for :users, :constraints => { :protocol => "https" }

此外,我在设计的 github 上找不到任何文档,尽管我在 google 群组中发现了一些指向它的死链接。

有没有人暗示如何让它轻松工作?考虑到插件的受欢迎程度,我以为我会很简单

【问题讨论】:

    标签: ruby-on-rails ssl https devise


    【解决方案1】:

    :constraints 不会作为选项起作用,但这可能会:

    constraints :protocol => "https" do
      devise_for :users
    end
    

    【讨论】:

    • 我改变了我的设计来使用它,但它没有用。我得到了No route matches [DELETE] "/users/sign_out"
    • 我在退出时也遇到了问题,所以这里有一个可以帮助其他人的答案。基本上,问题在于DELETE "/sign-out"(带有http)被重定向到GET "/sign-out" (https)。所以我用sign_out_url(protocol: "https")替换了我的sign_out_path,现在它工作正常了。我实际上覆盖了 sign_out_url 以始终设置协议。
    【解决方案2】:

    Integrate SSL Requirement 进入您的应用程序并使用设计。答案没有用,但这对我有用,特别是因为我已经在使用 SSL Requirement。

    【讨论】:

    • 你是对的,我当时没有正确检查答案,也没有在这里更新。你得到 ssl 路由和常规路由之间的重定向工作了吗?
    • 我之前有我的工作,但现在你吓到我了......我实际上只是实现了它,但开始在其他地方编码。我可以检查。吞咽...
    • 链接到的文章适用于我的 Rails 3 应用程序,在我的 application.rb 文件中使用:config.to_prepare { Devise::SessionsController.ssl_required :new, :create }。
    【解决方案3】:

    我建议使用Rack::SSL,也许使用Rack::SslEnforcer 以获得更多配置选项。

    【讨论】:

      猜你喜欢
      • 2011-05-22
      • 1970-01-01
      • 2019-02-10
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多