如何在rails-on-ruby中自动登录

问题描述 投票:0回答:1

我使用devise(ruby-on-rails)进行身份验证,使用before_filter:authenticate_user!要求用户登录。现在我想在Rails.env:dev上跳过登录操作,同时仍然需要在Rails.env:prd上进行身份验证。我想知道当我在env:dev上启动时,我是否可以在代码上自动登录特定用户(如admin)。

class QueryController < ActionController::Base
    layout "query"
    before_filter :auto_login
    before_filter :authenticate_user!, :except =>
    [
        :show,
        :query
    ]

    def auto_login
        if Rails.env == 'dev'
            current_user = User.find_by(login: 'admin')
        end
    end

我想知道authenticate_user如何实现登录操作。我尝试与用户登录但失败了。

ruby-on-rails ruby authentication devise autologin
1个回答
1
投票

要登录您的管理员用户,请执行以下操作

current_user = User.find_by(login: 'admin')

但是,你可能不应该这样做。始终是开发模式的管理员用户是一个坏主意。您应该以不同类型的用户身份登录以正确测试代码。

© www.soinside.com 2019 - 2024. All rights reserved.