我想为 Rails 3.1 应用程序启用 WebDav,其中我使用 Devise 进行身份验证,使用 CanCan 进行授权。
到目前为止,我打开了 WebDav 并且工作正常。是否可以使用 Devise 登录/用户与 dav4rack 来启用/限制对 WebDav 上某些文件/目录的访问?也许已经有相关的说明或维基页面了?任何帮助将不胜感激。
附言。这是解决此类问题的正确方法吗?也许我应该切换回 apache mod_dav 并将 apache 的 dav 用户/组与我的 Rails 应用程序中定义的用户/组同步?
我在这里找到了一个带有 Dav4Rack 资源的 Devise 示例https://github.com/bryanrite/dav4rack-example-devise-subdirectories/blob/master/app/models/my_resource.rb 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
就我而言,我使用电子邮件而不是用户名。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)