【问题标题】:Devise and swfupload authorization设计和 swfupload 授权
【发布时间】:2010-09-28 09:03:16
【问题描述】:

我正在尝试在我的控制器中验证用户是否有足够的权限上传文件。 swfupload 使用(根据文档)直接在 POST 请求中传递的 cookie 值执行 POST 请求。这使得before_filter :authenticate_user! 无法使用,用户未正确授权。

据我从设计文档中了解到,有可能创建自定义会话控制器。这是解决这个问题的一个很好的起点吗?知道如何从 POST 中提取会话 ID 并继续授权吗?

【问题讨论】:

    标签: ruby-on-rails authorization devise


    【解决方案1】:

    我有一个与 swfupload 类似的问题。我使用了中间件和一些自定义帮助链接来使其工作。更多信息在这里:http://thewebfellas.com/blog/2008/12/22/flash-uploaders-rails-cookie-based-sessions-and-csrf-rack-middleware-to-the-rescue

    【讨论】:

    • 是的,谢谢。这正是我所需要的。只是给其他人的另一个提示。注意中间件在堆栈中的位置。上面链接中提供的中间件应尽早调用(在 Warden 之前)。所以而不是config.middleware.use 使用更好的config.middleware.insert_before
    • 再发表评论。使用 POST 参数而不是自定义链接甚至更简单。如果您使用 swfupload,请在 post_params 参数中传递您的会话 ID(请参阅 swfupload 文档)并使用 params = ::Rack::Request.new(env).params 将其提取到您的中间件中
    猜你喜欢
    • 2021-05-14
    • 2016-05-19
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    相关资源
    最近更新 更多