设计在Rails中安装的sinatra app的身份验证

Xia*_*Guo 4 rack ruby-on-rails sinatra devise

我在用 -

  • Rails 3.2.2
  • Ruby 1.9.3
  • 设计2.0.4

我的路径文件如下所示:

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

  root :to => "home#index"
  authenticate :admin do
    mount Simple::App, at: '/simple'
  end 
end
Run Code Online (Sandbox Code Playgroud)

/ simple下的访问需要进行身份验证.

但是,如果没有登录,访问/ simple/*将重定向到/ simple/admin/sign_in而不是/ admin/sign_in,这将创建一个重定向循环.

我是否需要创建自定义failure_app来纠正此行为?

谢谢!

小智 8

 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
Run Code Online (Sandbox Code Playgroud)