加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:使用Authlogic进行基本身份验证

发布时间:2020-12-16 23:33:44 所属栏目:百科 来源:网络整理
导读:我正在使用Authlogic,我想在我的控制器中实现基本HTTP身份验证,以便我可以定义哪个操作需要身份验证. 我知道如何进行基本HTTP身份验证authenticate_or_request_with_http_basic和before_filter,但我想在其他方面如何使用Authlogic插件实现它. class ItemsCon
我正在使用Authlogic,我想在我的控制器中实现基本HTTP身份验证,以便我可以定义哪个操作需要身份验证.

我知道如何进行基本HTTP身份验证authenticate_or_request_with_http_basic和before_filter,但我想在其他方面如何使用Authlogic插件实现它.

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

解决方法

Here is a great screencast逐步解释了如何在rails项目中使用authlogic.

设置authlogic后,在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

定义这些方法后,您可以指定要求用户登录的操作:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读