Требовать пароль для изменения информации о пользователе с помощью волшебства - PullRequest
2 голосов
/ 14 сентября 2011

У меня есть простая пользовательская модель со страницей редактирования. В настоящее время вы можете изменить свой адрес электронной почты и пароль (с подтверждением пароля), но в настоящее время я не требую, чтобы вы вводили пароль еще раз, прежде чем изменять какую-либо эту информацию.

У меня есть фильтр до, который требует, чтобы вы вошли в систему, а также фильтр до, чтобы вы могли редактировать только свой собственный профиль. Однако в случае общедоступных компьютеров я хотел бы повторно аутентифицировать пользователя, заставив его ввести свой пароль.

Я использую волшебство для подтверждения своей аутентификации. Как бы я поступил так? Я не вижу методов для проверки пароля после входа в систему. Ниже приведен мой текущий users_controller

class UsersController < ApplicationController

  before_filter :require_login, :only => [ :edit, :update ]
  before_filter :correct_user, :only => [ :edit, :update ]

  def new
    @user = User.new
  end

  def create
    @user = User.new(params[:user])
    if @user.save
      redirect_to root_url, :notice => "Signed up!"
      login_user(@user)
    else
      render :new
    end
  end

  def edit
    @user = User.find(params[:id])
  end

  def update
      @user = User.find(params[:id])
      if @user.update_attributes(params[:user])
        flash[:success] = "Profile updated."
        redirect_to root_url
      else
        render 'edit'
      end
    end

  private

  def correct_user
        @user = User.find(params[:id])
        redirect_to(root_path) unless current_user == @user
  end

end

1 Ответ

2 голосов
/ 16 сентября 2011

Я открыл вопрос на странице GitHub Колдовства. Похоже, в будущем создатель откроет метод validate_credentials ().

Источник: https://github.com/NoamB/sorcery/issues/34#issuecomment-2108845

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...