我有一个rails应用程序,并编写了一个简单的登录脚本。
登录检查输入的密码是否与数据库中的哈希密码相同。
然后我将用户ID保存到Session中。
现在我希望这些页面只是可变的,或者只有在用户进入时才可以访问..
我该怎样做到这一点?
感谢您的帮助
答案 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