1

我对魔法宝石有点问题。当我登录到我的应用程序时,控制器成功登录,然后将我重定向到另一个页面(我可以确定登录凭据是正确的,就好像它们不是登录页面操作而不是重定向一样地方)。但是,当应用程序尝试加载此页面时,Sorcery 的requires_login方法失败,因为current_user返回 false(然后触发not_authenticated并引导我回到首页)。

这仅在生产中发生,如果我在开发中运行该站点,则一切正常。我已经尝试删除所有其他before_filters运行的,但仍然遇到同样的问题,所以它不存在。

登录由以下控制器操作处理(我认为其中没有任何责任,但以防万一):

# user_sessions_controller.rb
def create
  logout
  @user = login(params[:email], params[:password])
  if @user
    @user.assign_locale(params[:locale])
    flash[:success] = "Log in successful."
    if can? :read, Organisation
      redirect_to some_path
    else
      redirect_to another_path
    end
  else
    flash.now[:error] = "Unrecognised email/password combination"
    render "new"
  end
end
4

1 回答 1

1

这完全是我自己创造的问题。我正在我自己的机器上测试生产,没有 ssl,并且有

secure: Rails.env.production?

设置为我的session_store选项之一,这意味着没有提供 Sorcery 所需的 cookie。

于 2013-04-29T02:08:35.513 回答