Доброе утро!
Хочется посоветоваться по поводу создания файлового хранилища.
На данный момент есть самописное ПО, работающее внутри организации и использующее в качестве СУБД PostgreSQL. Возникла необходимость хранить файлы, которые привязаны к сущностям БД. Так как хранить файлы в БД - не комильфо, было решено хранить файлы в ФС, а в БД хранить только URI(путь до файла). Хранилище должно обеспечивать возможность гибкого разграничения прав доступа, т.е. права должны проверяться с помощью специально созданных таблиц в БД. Клиентcкое ПО написано на Delphi и работает под виндой.
На данный момент есть такая идея:
- Ставим веб-сервер, который будет заниматься хранением и отдачей файлов после проверки прав доступа.
- Загрузка файлов на сервер происходит по протоколу FTP во временный каталог (HTTP не самое лучшее решение для загрузки больших файлов).
- Получение файлов происходит при переходе по ссылке вида http://srv.local/getfile.php?id=a337bc2622e4734baf
- Ссылка генерируется при обращении к БД и наличии необходимых прав и является временной
Вроде все устраивает, но хочется реализовать следующее: После того как пользователь загрузил файл, отредактировал его, например в Word'e и сохранил, необходимо что-бы новая версия файла автоматически попала на сервер. Нечто типа WebDAV, но там, к сожалению не очень гибкая система разграничения прав и с помощью кода я не смогу рулить правами доступа к файлам (если я правильно все понял).
На какие технологии/библиотеки стоит обратить внимание? И как это лучше сделать?
Заранее спасибо!