Приложение Rails 3.1 со встроенным webdav и аутентификацией? - PullRequest
3 голосов
/ 07 ноября 2011

Я хотел бы включить приложение WebDav for Rails 3.1, где я использую Devise для аутентификации и CanCan для авторизации.

Пока я включил WebDav и работает нормально.Можно ли использовать Devise logins / users с dav4rack для включения / ограничения доступа к определенным файлам / каталогам в WebDav?Может быть, уже есть страница с практическими рекомендациями или вики об этом?Любая помощь будет оценена.

PS.это правильный способ решения такого рода проблемы?может, мне стоит вернуться к apache mod_dav и синхронизировать dav-пользователей / группы apache с пользователями / группами, определенными в моем приложении на Rails?

1 Ответ

0 голосов
/ 29 ноября 2013

Я нашел пример Devise с ресурсом 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

В моем случае я использовал электронную почту вместо имени пользователя.

...