【问题标题】:Rails 3.1 app with integrated webdav and authentication?具有集成 webdav 和身份验证的 Rails 3.1 应用程序?
【发布时间】:2011-11-07 08:52:46
【问题描述】:

我想为 Rails 3.1 应用程序启用 WebDav,我使用 Devise 进行身份验证,使用 CanCan 进行授权。

到目前为止,我打开了 WebDav 并且工作正常。是否可以使用带有 dav4rack 的 Devise 登录名/用户来启用/限制对 WebDav 上某些文件/目录的访问?也许已经有一个关于它的howto或wiki页面?任何帮助将不胜感激。

PS。这是解决此类问题的正确方法吗?也许我应该切换回 apache mod_dav 并将 apache 的 dav 用户/组与我的 Rails 应用程序中定义的用户/组同步?

【问题讨论】:

  • 你最后得到了什么?
  • 我没有足够的时间来处理它,所以据我所知,我很快转向了 SoGo (php),它为我提供了一些额外的功能。

标签: ruby-on-rails ruby-on-rails-3.1 webdav


【解决方案1】:

我在这里找到了一个带有 Dav4Rack 资源的设计示例 https://github.com/bryanrite/dav4rack-example-devise-subdirectories/blob/master/app/models/my_resource.rb

class MyResource < DAV4Rack::FileResource

  def root
    File.join(options[:root].to_s, user.id.to_s)
  end

  private

  def authenticate(username, password)
    self.user = User.find_by_username(username)
    user.try(:valid_password?, password)
  end  

end

就我而言,我使用电子邮件而不是用户名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多