Rails 3具有单一访问令牌的Authlogic问题以及超时时注销

时间:2011-07-15 06:14:09

标签: ruby-on-rails-3 authlogic

我在使用authlogic单一访问令牌访问页面时遇到问题,当超时注销设置为true并设置超时时。

user.rb:

acts_as_authentic do |c|
  c.logged_in_timeout = 15.minutes
end

user_session.rb:

logout_on_timeout true

控制器:

def single_access_allowed?
  ["download_xml"].include?(action_name)
end

如果我尝试使用令牌访问页面/方法,它会直接重定向到我的登录页面。超时注销在打开时有效。

如果我删除超时代码并且在user.rb中只有acts_as_authentic,则单一访问令牌可以正常工作。

我希望能够使用单一访问令牌,以便其他应用程序可以从我的ruby on rails网站上打开一个xml文件。

关于我可能做错了什么以及在哪里修复并使其有效的任何想法?

使用authlogic 3.0.3和rails 3.0.7。

1 个答案:

答案 0 :(得分:0)

jgdreyes去年9月27日https://github.com/binarylogic/authlogic/issues/64的回复为我工作:

  

我继续推进Authlogic的陈旧?这样做的方法   没看到陈旧的请求?如果通过single_access访问?这保持不变   logout_on_timeout的逻辑完好无损。

class UserSession < Authlogic::Session::Base   logout_on_timeout true
  def stale?
    return false if single_access?
    super   
  end 
end