Devise authentication for sinatra app mounted in Rails

我怕爱的太早我们不能终老 提交于 2019-12-07 12:14:32

问题


I am using -

  • Rails 3.2.2
  • Ruby 1.9.3
  • Devise 2.0.4

my route file looks like this:

Foo::Application.routes.draw do
  devise_for :admins

  root :to => "home#index"
  authenticate :admin do
    mount Simple::App, at: '/simple'
  end 
end

access under /simple needs to be authenticated.

However if not signed in , access to /simple/* will be redirect to /simple/admin/sign_in instead of just /admin/sign_in which creates a redirect loop.

Do I need to create a custom failure_app to correct this behavior?

Thanks!


回答1:


 Foo::Application.routes.draw do
   devise_for(:admins)

   root(to: 'home#index')

   match('/simple/admins/sign_in' => redirect('/admins/sign_in'))
   authenticate(:admin) do
     mount(Simple::App, at: 'simple')
   end 
 end


来源:https://stackoverflow.com/questions/9731550/devise-authentication-for-sinatra-app-mounted-in-rails

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!