rails gema current_user create ruby-on-rails authentication authlogic

ruby-on-rails - current_user - gema devise



Rieles: Autenticación básica con Authlogic (2)

Tuve éxito con lo siguiente:

Definir un método de filtro en application_controller.rb

def require_http_auth_user authenticate_or_request_with_http_basic do |username, password| if user = User.find_by_login(username) user.valid_password?(password) else false end end end

Luego, en su controlador puede hacer lo siguiente:

before_filter : require_http_auth_user

Puede usar:

http: // username: [email protected] (es decir, autenticación básica HTTP)

Espero que esto ayude.

Estoy usando Authlogic y me gustaría implementar la Autenticación HTTP básica en mi controlador para poder definir qué acción requiere autenticación.

Sé cómo hacer la Autenticación HTTP básica authenticate_or_request_with_http_basic y before_filter, pero aquí me gustaría saber cómo implementarlo con el complemento Authlogic.

class ItemsController < ApplicationController before_filter :authenticate , :only => [:index, :create] ... end


Aquí hay un gran screencast que explica, paso a paso, cómo usar authlogic en su proyecto de rieles.

Una vez que se haya configurado authlogic, defina los siguientes métodos útiles de ayuda relacionados con la autenticación en su Application Controller.

def current_user_session return @current_user_session if defined?(@current_user_session) @current_user_session = UserSession.find end def current_user return @current_user if defined?(@current_user) @current_user = current_user_session && current_user_session.record end def require_user unless current_user store_location flash[:notice] = "You must be logged in to access this page" redirect_to new_user_session_url return false end end def require_no_user if current_user store_location flash[:notice] = "You must be logged out to access this page" redirect_to root_url return false end end

Una vez que esos métodos están definidos, puede especificar acciones que requieren que el usuario inicie sesión:

before_filter :require_user, :only => [:new, :edit]