我正在使用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]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。