Rails用户登录,只有garant访问页面

时间:2016-04-06 08:49:43

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

我有一个rails应用程序,并编写了一个简单的登录脚本。

登录检查输入的密码是否与数据库中的哈希密码相同。

然后我将用户ID保存到Session中。

现在我希望这些页面只是可变的,或者只有在用户进入时才可以访问..

我该怎样做到这一点?

感谢您的帮助

1 个答案:

答案 0 :(得分:5)

首先,当像Devise这样的宝石可以在几分钟内为我做这件事时,我自己也不会这样做。

虽然,如果您确实想自己这样做,我会在user_logged_in!中使用ApplicationController方法,在每次操作之前调用该方法(您可以选择应使用{检查哪个操作) {1}}):

before_action

对于不需要对用户进行身份验证的操作/控制器,您可以使用class ApplicationController < BaseController before_action :user_logged_in! protected def user_logged_in! # Logic that checks if the user is actually logged in (check in session, etc). # If not logged in, redirect the user to the root page with a flash message. end end

skip_before_action