AuthLogic一次性密码(persistence_token) - 使用它需要什么配置?

时间:2009-12-02 21:00:48

标签: ruby-on-rails authlogic

任何人都可以确认使一次性密码(persistence_token)正常工作所需的配置吗?

到目前为止我可以解决的问题如下,但这对我不起作用所以我一定是错的:

  • 传递额外的网址参数“user_credentials = xxxxpersistence_tokenxxxx”
  • 问题 - 除此之外是否还需要其他任何URL参数?任何用户ID或用户名?
  • 在我的数据库表中有persistence_token字段(它是,我可以看到它已填充)
  • 每个普通的
  • 在我的用户模型中有“act _as _authentic”
  • 问题:我的每个模特都需要“act _as _authentic”吗?

当我在浏览器中直接输入我自己的模型资源中的URL后,我在日志中看到:

(a)初始请求 - 重定向到http://localhost:3000/user_session/new

(b)然后进行此重定向:

Processing UserSessionsController#new (for 127.0.0.1 at 2009-12-03
06:14:24) [GET]
  Parameters: {"action"=>"new", "controller"=>"user_sessions"}
  User Columns (3.4ms)   SHOW FIELDS FROM `users`
  User Indexes (0.9ms)   SHOW KEYS FROM `users`
Rendering template within layouts/application
Rendering user_sessions/new
  SQL (0.6ms)   SELECT count(*) AS count_all FROM `users` WHERE
(last_request_at > '2009-12-02 20:04:24')
Completed in 182ms (View: 151, DB: 5) | 200 OK [http://localhost/
user_session/new]

(c)但是网页最终会登录到登录页面,而不是 自动在我追求的页面上 - 也就是说我期待着 一次性密码将允许AuthLogic自动执行 会话然后认证?

谢谢

PS。不知道它是否与我在params.rb中找到的authlogic代码相关

def single_access_allowed_request_types(value = nil)
  rw_config(:single_access_allowed_request_types, value, ["application/rss+xml", "application/atom+xml"])
end

1 个答案:

答案 0 :(得分:0)

我想我现在已经拥有它了。我做了:

  • 传递user_credentials =<>

  • 的参数(不是标题)
  • 在users表中添加single_access_token列

  • 将以下方法放在users_controller中:

private
  def single_access_allowed?
    true
  end
  • 对于其他控制器(即除应用程序,用户,user_sessions之外) 我把:“before_filter:require_user”(不确定是否有办法在这里做到这一点 会自动处理它的控制器吗?)

感谢