我正在使用宁静身份验证插件来为我正在构建的应用程序对用户进行身份验证。正如在用户访问主页时的大多数优秀网站中,我想展示一个样板欢迎页面并且可以选择登录或注册。但是,当用户登录时,我希望网站的根网址(即sitename.com)显示用户仪表板而不是标准问候页。我假设这只是使用布局文件和检查用户是否登录?但它的逻辑似乎在困扰着我。提前谢谢了。根据Rails中的登录状态显示不同的主页
1
A
回答
2
我会这样做:你会有你的main
控制器,其中未登录的用户可以访问,然后第二个控制器(我们称之为admin/main
),这是登录用户的主页面。
在main
控制器的index
动作(假设你只是想重定向index操作;否则,你可以使用一个before_filter
):
class MainController < ApplicationController
def index
redirect_to :controller => 'admin/main', :action => 'index' and return if logged_in?
end
end
这样一来,如果登录用户试图访问应用程序的根URL,它们将被自动重定向到网站的登录区域(但URL不会更改)。
0
您可以检查用户是否在登录操作时已经登录,是否重定向到仪表板操作。如果他们不是那么你可以继续登录正常。例如。在你的会话控制器
def new
if logged_in?
redirect_to :controller => 'dashboard', :action => 'index'
end
end
你也可以做一个的before_filter避免“污染”你的登录操作。例如。
before_filter :logged_in_users_go_to_dashboard, :only => [:create, :new]
def logged_in_users_go_to_dashboard
redirect_to(:controller => 'dashboard', :action => 'index') if logged_in?
end
相关问题
- 1. 根据登录状态显示不同的数据 - 客户端
- 2. 根据登录状态显示不同的iphone视图
- 3. ASP.Net主页登录后的侧栏显示(保持显示在登录状态)
- 4. 根据MediaWiki中的主机名显示不同的主页
- 5. 如何根据登录用户的状态显示视图?
- 6. 登录状态并未显示登录
- 7. Twitter如何根据登录信息获取两个不同的主页? - Rails 3.1
- 8. IBM Connections 4.5主页 - 根据登录用户显示/隐藏iWidget
- 9. 根据登录人的身份显示不同的链接
- 10. 根据Phonegap android应用程序的需求显示不同的登录页面?
- 11. 根据链接状态显示不同的图像
- 12. 根据状态显示不同的组件?
- 13. Android根据状态显示不同的视图
- 14. 根据登录状态更新DIV?
- 15. ruby on rails显示页面,员工显示与登录员工状态相同的客户
- 16. 如何让CakePHP根据身份验证/登录状态返回不同的主页?
- 17. 根据用户角色显示不同的主页
- 18. 根据登录状态使用相同网址的两个页面
- 19. 子域根目录在Rails中显示主页
- 20. 登录时不显示登录页面
- 21. Rails 3不写500状态登录
- 22. 根据父ViewGroup的状态更改视图的显示状态
- 23. 流星/反应:根据登录状态改变状态
- 24. 在Rails中登录时显示不同的文本
- 25. 根据Android中的Facebook连接状态显示不同的布局
- 26. 根据用户的角色和状态在laravel中登录
- 27. MVC4在首页登录时显示模型状态错误信息登录
- 28. 反应 - 根据状态在输入框中显示不同的值
- 29. 根据OpenERP 7中的记录状态显示动态看板颜色
- 30. 如何为注销登录的用户显示不同的WordPress主页?