使用Ruby on Rails配置中间件4

时间:2013-08-12 23:28:46

标签: ruby-on-rails ruby omniauth ruby-on-rails-4 rack

我有兴趣在Ruby on Rails 4项目中使用OmniAuth CAS。我正在看的特定宝石是这一个:https://github.com/dlindahl/omniauth-cas

文档说配置CAS的摘录如下所示:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :cas, host: 'cas.yourdomain.com'
end

我的问题只是在Ruby on Rails 4应用程序的上下文中会出现什么情况?配置放在什么文件中?在Ruby on Rails 4中使用中间件还需要做些什么吗?我尝试在application.rb中添加以下内容,但收到的投诉是没有路由匹配[GET]“/ cas_login”:

config.middleware.use OmniAuth::Builder do
        provider :cas, login_url: 'http://localhost:3000/cas_login', host: 'localhost', port: 3000
    end

1 个答案:

答案 0 :(得分:4)

此代码应放在config/initializers/cas_middleware.rb的初始值设定项中。

或者,您可以将此语法放在config/application.rb块的类中:

config.middleware.use OmniAuth::Builder do
  provider :cas, host: 'cas.yourdomain.com'
end

它会做同样的事情。