Убедитесь, что пользователь утвержден администратором перед входом - PullRequest
0 голосов
/ 27 декабря 2018

Здравствуйте, я следовал учебному пособию Как: Требовать от администратора активации учетной записи до входа в систему , чтобы убедиться, что пользователь одобрен администратором, прежде чем он сможет подключиться.

Я хотел бы добавитьусловие для проверки того, что оно разрешено для подключения

, вот мой контроллер session_controller.rb

class SessionsController < Devise::SessionsController
before_action :set_email

 def new
  super
 end

def create
 self.resource = warden.authenticate!(auth_options)
 set_flash_message(:notice, :signed_in) if is_navigational_format?
 sign_in(resource_name, resource)

 if !session[:return_to].blank?
  redirect_to session[:return_to]
  session[:return_to] = nil

 else
  respond_with resource, :location => after_sign_in_path_for(resource)
end

end

def confirm_email
 user = User.find_by_confirm_token(params[:id])
 if user
  user.email_activate
  flash[:success] = "Welcome to the Sample App! Your email has been 
confirmed.
  Please sign in to continue."
  redirect_to signin_url
 else
  flash[:error] = "Sorry. User does not exist"
  redirect_to root_url
end
end


def set_email
 @email = params[:email];
 @user1 = params[:user];
end



end

Спасибо

1 Ответ

0 голосов
/ 28 декабря 2018
def create
 self.resource = warden.authenticate!(auth_options)
 if current_user.approved?
   set_flash_message(:notice, :signed_in) if is_navigational_format?
   sign_in(resource_name, resource)
   if !session[:return_to].blank?
     redirect_to session[:return_to]
     session[:return_to] = nil
   else
     respond_with resource, :location => after_sign_in_path_for(resource)
   end
 else
   sign_out current_user

   redirect_to "/"    
 end
end
...