我们使用Devise + OmniAuth作为身份验证机制,通过facebook,twitter和openid对用户进行身份验证。现在我们需要将Refinery CMS集成到我们现有的应用程序中。
要求: 应用程序的主页具有一些静态内容的注册/登录按钮。登录时,用户可以访问受限区域。我们希望在受限页面上添加访问Refinery CMS的链接。它不应再要求任何凭证。
我们按照以下链接整合了Refinery CMS:
现在启动服务器后,当我们点击http://localhost:3000
时,它会重定向到http://localhost:3000/refinery/users/register
。用户应该能够看到包含公共内容的主页。用户只有在用户使用任何支持的服务进行身份验证后才能访问炼油厂CMS(通过/ help)。
这是 config / routes.rb
的快照mount Refinery::Core::Engine, :at => '/'
...
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks", registrations: "registrations" }
....
root :to => "home#index"
配置/ application.rb中
config.autoload_paths += Dir["#{config.root}/lib/**/"] # to load files from lib directory, including subfolders
config.before_initialize do
require 'refinery_patch'
require 'restrict_refinery_to_refinery_users'
end
include Refinery::Engine
after_inclusion do
[ApplicationController, ApplicationHelper].each do |c|
c.send :include, ::RefineryPatch
end
::Refinery::AdminController.send :include, ::RestrictRefineryToRefineryUsers
::Refinery::AdminController.send :before_filter, :restrict_refinery_to_refinery_users
end
我们是初学者。任何帮助都会很明显。