未登录时显示网站,登录时显示应用程序

时间:2012-06-10 17:44:00

标签: ruby-on-rails redirect web

我有一个网站和一个Rails应用程序。

当用户访问网站时,我想检查他们是否已登录。 如果是,我想将它们发送到Rails应用程序。如果他们没有登录,我想将他们发送到网站。

pivotaltracker.com有这种行为。

最好的方法是什么?我认为Rails应用程序需要进行登录检查,所以看起来用户应该始终首先发送到那里,如果没有登录则重定向到网站?

但似乎结果往往是显示网站,所以看起来这会增加额外的步骤,并减慢大多数用户的速度。但我不知道该怎么做。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

检查网站的Web服务器层中的应用会话cookie,如果有,请将其发送到应用,如果没有,请继续访问该网站。

当然,该应用程序将实施实际检查以查找已登录的用户并重定向到网站,如果有什么闻起来有趣。

是的,它更复杂。

或者,在测量之前停止尝试优化。 “似乎”意味着你没有检查数字是否经常发生。 (这比预想的更糟糕。我试图提醒你“过早优化”,而不是试图对你大吼大叫。)

答案 1 :(得分:0)

如果你正在使用设计,你可以:

Dashboard::Application.routes.draw do

  devise_for :users    
  authenticated :user do
    resources :stuffs
    root to: "home#dashboard"
  end

  root to: "home#website"
end

如果登录,这将向用户显示仪表板,如果没有,则显示“网站”。然后,您可以显示该网站,或重定向到该网站。