Here is a great screencast解释,一步一步,如何在Rails项目中使用authlogic。
一旦设置了authlogic,请在您的应用程序控制器中定义以下有用的身份验证相关帮助程序方法。
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]
我这样做了,但这不适用于REST协议。我试图创建一个基本的HTTP身份验证,客户端必须发送身份验证头。 – xpepermint 2010-02-18 08:39:40
ow ....因为我发现插件默认处理授权。哼... – xpepermint 2010-02-18 08:51:49
这段代码实际上并不使用HTTP Basic,但下面的解决方案确实如此。 – Judy 2010-03-10 19:56:11