Как выполнить автоматический вход в rails-on-ruby - PullRequest
0 голосов
/ 07 марта 2019

Я использую devise (ruby-on-rails) для аутентификации, используя before_filter: authenticate_user!требовать логин пользователя.Теперь я хочу пропустить операцию входа в систему, когда на Rails.env: dev, пока еще требуется аутентификация на Rails.env: prd.Интересно, могу ли я автоматически войти в систему с определенным пользователем (например, администратором) в коде, когда проект запускается в env: dev.

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 реализует действие входа в систему.Я пытаюсь войти в систему с пользователем, но не удалось.

1 Ответ

1 голос
/ 07 марта 2019

Чтобы войти в систему как администратор, просто сделайте что-то вроде

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

Но вы, вероятно, не должны этого делать. Всегда быть администратором в режиме разработки - плохая идея. Вы должны войти в систему как различные типы пользователей, чтобы правильно проверить ваш код.

...