首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改密码后,UserSession.find返回nil

更改密码后,UserSession.find返回nil
EN

Stack Overflow用户
提问于 2012-06-22 01:36:50
回答 2查看 330关注 0票数 0

我最近创建了一种更改当前用户密码的方法,但是在保存记录后,我的UserSession.find返回nil,我尝试编写UserSession.new({...}).save,但没有成功,有什么建议如何解决这个问题吗?

下面是我的代码,请注意,它是通过AJAX请求运行的(这是UserSessionController下的一个方法):

定义

代码语言:javascript
复制
 change_my_password
    #print "--------------RECORD: #{current_user_session.record.as_json}-------- #{current_user_session.user.as_json}"
    user = current_user
    user_email = user.email
    user_remember_me = user.remember_created_at
    response = {
      :success => false,
      :message_code => Extjs::MessageCodes::ERROR,
      :message => 'Si è verificato un errore',
      :total => 0,
      :root => []
    }
    if user.valid_password?(params[:old_password], true)
      user.password = params[:new_password]
      user.password_confirmation = params[:confirm_password]
      response[:message] = 'La nuova password e la conferma non coincidono o sono troppo brevi'
      if user.save
        response[:success] = true
        response[:message_code] = Extjs::MessageCodes::SUCCESS
        response[:message] = 'Password modificata con successo'
      end
    else
      response[:message] = 'La password precedente non coincide con quella attualmente in uso'
    end

    respond_to do |format|
      format.extjson { render :json => response }
    end
  end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-26 10:17:35

实际上,我没有找到解决这个问题的方法:我通过在更改密码后强制再次登录来解决这个问题(这甚至增加了安全性,所以并不是那么糟糕)。

我认为KandadaBoggu的答案是正确的,但我测试了所有这些方法,它们对我来说都不起作用。

也许这是由我的代码中的错误造成的问题,我真的不知道。目前,我只是认为这是一个解决方案,因为它实际上适用于我的软件。

如果找到了更好的答案,我会很乐意标记出来的。

感谢每一个人。

票数 0
EN

Stack Overflow用户

发布于 2012-06-22 02:48:52

确保没有将maintain_sessions参数设置为false,即:

代码语言:javascript
复制
acts_as_authentic do |c|
  c.maintain_sessions = false # change this to true.
end

保存后手动更新会话:

代码语言:javascript
复制
user.send(:update_sessions)

保存后重新创建会话:

代码语言:javascript
复制
UserSession.create(user)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11143656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档