Rails SSL Requirement插件-在重定向到https之前,它不应该检查一下是否处于生产模式吗?
时间:2020-03-06 14:23:45 来源:igfitidea点击:
看一下ssl_requirement插件。
它不应该检查我们是否处于生产模式吗?我们看到在开发模式下重定向到https,这似乎很奇怪。还是该插件的正常行为?我认为过去的表现有所不同。
解决方案
我猜他们相信我们可能应该在开发模式下使用HTTPS(也许带有自签名证书)。如果这不是期望的行为,那么我们自己就无法阻止自己在开发环境中的特殊大小写SSL行为:
class YourController < ApplicationController ssl_required :update unless Rails.env.development? end
理想情况下,我们应该测试在敏感阶段将应用程序重定向到https。
在开发环境中要求SSL没有多大意义。
我们可以存根ssl_required插件吗?使用Rails内置的模拟工具的方法。
在应用程序根目录下,创建一个文件test / mocks / development / application.rb
require 'controllers/application_controller' class ApplicationController < ActionController::Base def ssl_required? false end end
这样,在开发环境中就不再需要SSL。
def ssl_required? return false if local_request? || RAILS_ENV == 'test' || RAILS_ENV == 'development' super end