我对魔法宝石有点问题。当我登录到我的应用程序时,控制器成功登录,然后将我重定向到另一个页面(我可以确定登录凭据是正确的,就好像它们不是登录页面操作而不是重定向一样地方)。但是,当应用程序尝试加载此页面时,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