Ruby on rails Authlogic和无效会话
背景: 我继承了一个旧的Rails应用程序,我正在尝试设置一个本地副本,但在用于身份验证的Authlogic gem中遇到了问题。设置如下所示:Ruby on rails Authlogic和无效会话,ruby-on-rails,ruby,authlogic,Ruby On Rails,Ruby,Authlogic,背景: 我继承了一个旧的Rails应用程序,我正在尝试设置一个本地副本,但在用于身份验证的Authlogic gem中遇到了问题。设置如下所示: Rails 2.3.18应用程序是一个遗留应用程序 使用Authlogic进行身份验证 无法创建有效的会话 测试: 应用程序有一个用户模型,它是使用中概述的简单步骤构建的。登录步骤路由到UserSessions控制器以获取用户参数(登录和密码),创建一个新会话,然后尝试保存会话,如下所示: UserSessionsController.rb ..
- Rails 2.3.18应用程序是一个遗留应用程序
- 使用Authlogic进行身份验证
- 无法创建有效的会话
UserSessionsController.rb
....
@user_session = current_account.user_sessions.new(params[:user_session])
if @user_session.save
# login success
....
else
# login failure
end
这是失败的最后一步。当我检查@user\u会话对象上的错误时,我得到的字符串是“登录无效”
此外,我已经通过rails控制台对此进行了测试,并按照文章中的说明进行了操作:。这基本上需要在控制台中执行:
Authlogic::Session::Base.controller = Authlogic::ControllerAdapters::RailsAdapter.new(self)
在通过以下调用模拟UserSession创建时使用此方法:
us=UserSession.new(:login=> "user@gmail.com", :password => "secret")
我得到错误:#
现在,在这两种情况下,用户标识都存在于数据库中
欢迎提供任何故障诊断提示/建议 看起来您正在尝试访问
创建
操作中的活期账户
便利方法,但您可能尚未登录,因此我不确定活期账户
来自何处。以下代码段是否可以替代您现有的@user\u会话
作业
# app/controllers/user_sessions_controller.rb
@user_session = UserSession.new(params[:user_session])
看起来您正在尝试访问
create
操作中的current\u account
便利方法,但您可能尚未登录,因此我不确定current\u account
来自何处。以下代码段是否可以替代您现有的@user\u会话
作业
# app/controllers/user_sessions_controller.rb
@user_session = UserSession.new(params[:user_session])
感谢您的建议-将尝试进一步评论。运气不好-仍然失败,出现错误[“登录无效”]。怀疑UserSession可能存在另一个问题。是否已验证您使用的凭据是否正确?也许可以尝试创建一个全新的用户,例如,
UserSession.create(:login=>“bjohnson”,:password=>“我的密码”,:memory_me=>true)
。然后尝试登录到该帐户?谢谢-成功了。我创建了一个新用户,并能够验证它是否正常工作。感谢您的建议。感谢您的建议-将尝试进一步评论。运气不好-仍然失败,出现错误[“登录无效”]。怀疑UserSession可能存在另一个问题。是否已验证您使用的凭据是否正确?也许可以尝试创建一个全新的用户,例如,UserSession.create(:login=>“bjohnson”,:password=>“我的密码”,:memory_me=>true)
。然后尝试登录到该帐户?谢谢-成功了。我创建了一个新用户,并能够验证它是否正常工作。谢谢你的建议。