Протокол WebDAV является расширением протокола HTTP. Многие клиенты используют его для управления различными наборами данных.
Модуль WebDAV CommuniGate Pro реализует аутентифицированный доступ к хранилищу файлов пользователя, календарям, заданиям и папкам с контактами.

В CommuniGate Pro поддержка WebDAV реализована в модуле HTTP-User, и настройки этого модуль применяются и к функциям WebDAV.

Корневой элемент

Компонента WebDAV поддерживает «Корневой элемент» с доступом только на чтение через следующие URL:

http://serverName[:port]/

или

https://serverName[:port]/

где port является портом модуля HTTP-User (по умолчанию — 8100, 9100).

Клиенты WebDAV (CalDAV, CardDAV и т.д.) могут быть настроены для использования этого корневого элемента. Они смогут извлечь свойства корневого элемента, которые направят их на другие URL (разделы), реализующие соответствующие протоколы.

Настройка корневого элемента модуля DAV

Протокол WebDAV использует в качестве транспорта протокол HTTP, реализуемый модулем HTTPU. Откройте установки модуля HTTPU и найдите раздел доп. протоколов:

Используйте настройку “уровень журнала” для указания, какую информацию модуль WebDAV должен сохранять в журнале работы сервера.
Записи, помещённые корневым элементом модуля WebDAV в журнал работы сервера, имеют пометку “RootDAV”.

Установка “доступ” определяет, клиенты из каких сетей имеют доступ к услуге RootDAV.

Основные элементы

Протокол WebDAV и основанные на нём протоколы позволяют пользователям обращаться к ресурсам других пользователей, если им были даны соответствующие права.
Для поддержки ACL (списков прав доступа) в WebDAV, у каждого пользователя CommuniGate Pro есть уникальный URL, с помощью которого этого пользователя можно представить в списках прав доступа. Такими URL являются:

http://servername[:port]/UserDAV/accountName@domainName

или

https://servername[:port]/UserDAV/accountName@domainName/

где port — порт модуля HTTP-User (по умолчанию — 8100, 9100).

Настройка основных элементов модуля DAV

Протокол WebDAV использует в качестве транспорта протокол HTTP, реализуемый модулем HTTPU. Откройте установки модуля HTTPU и найдите раздел доп. протоколов:

Используйте настройку “уровень журнала” для указания, какую информацию модуль WebDAV должен сохранять в журнале работы сервера.
Записи, помещённые основными элементами модуля WebDAV в журнал работы сервера, имеют пометку UserDAV.

Установка “доступ” определяет, клиенты из каких сетей имеют доступ к услуге основных элементов WebDAV.

Доступ к файлам

Сервер CommuniGate Pro реализует доступ к хранилищу файлов пользователя по протоколу WebDAB (FileDAV).

Все запросы FileDAV должны быть аутентифицированным: пользователь должен ввести своё имя и пароль. У указанного пользователя и в его домене услуга “WebSite” должна быть включена.

«Корневой элемент» хранилища файлов пользователя доступен через следующие URL:

http://servername[:port]/WebDAV/

или

https://servername[:port]/WebDAV/

где port является портом модуля HTTP User (по умолчанию — 8100, 9100).

 

Для доступа к хранилищу файлов другого пользователя должен быть использован следующий URL:

http://servername[:port]/WebDAV/~accountName/

or

https://servername[:port]/WebDAV/~accountName/

где port является портом модуля HTTP User (по умолчанию — 8100, 9100), аaccountName — имя пользователя, к чьим файлам осуществляется доступ. Если этот пользователь находится в другом домене, используйте полное имя в виде accountName@domainName.

Настройка модуля FileDAV

Протокол WebDAV использует в качестве транспорта протокол HTTP, реализуемый модулем HTTPU. Откройте установки модуля HTTPU и найдите раздел доп. протоколов:

Используйте настройку “уровень журнала” для указания, какую информацию модуль проверки орфографии должен сохранять в журнале работы сервера.
Записи, помещённые модулем доступа к файлам по WebDAV в журнал работы сервера, имеют пометку FileDAV.

Установка “доступ” определяет, клиенты из каких сетей имеют доступ к услуге FileDAV.

CalDAV

Сервер CommuniGate Pro поддерживает протокол CalDAV, расширение протокола WebDAV.

Этот протокол позволяет клиентам CalDAV читать и изменять данные календаря пользователя и его задания, хранящиеся на сервере.

Полноценный клиент CalDAV способен самостоятельно определить URL для операций по протоколу CalDAV, если его настроить на обращение к корневому элементу:

http://serverName[:port]/

или

https://serverName[:port]/

где port является портом модуля HTTP User (по умолчанию — 8100, 9100).

Если клиент CalDAV не может определить URL для работы по протоколу CalDAV, его надо задать явно:

http://servername:port/CalDAV/
https://servername:port/CalDAV/

Некоторые клиенты можно настроить для доступа только к определённому календарю или набору заданий. Для доступа к любой из папок, содержащих данные календаря или задания, может использоваться следующие URL:

http://servername:port/CalDAV/mailboxName/
https://servername:port/CalDAV/mailboxName/

Если mailboxName заканчивается расширением имени файла ics, то сервер удаляет это расширение.

Все запросы данных CalDAV должны быть аутентифицированными: пользователь должен ввести своё имя и пароль. У указанного пользователя и в его домене услуга “WebCal” должна быть включена.

Если имя домена пользователя или псевдоним имени домена — mail.company.com, номер порта HTTP User — 80, а имя папки — Calendar, то, в таком случае, для доступа будет использоваться URL

http://mail.company.com/CalDAV/Calendar

или

https://mail.company.com/CalDAV/Calendar.ics

Таким образом может осуществляться доступ к любой папке, имеющей тип “календарь” или “задания”. Для доступа к папке другого пользователя должно быть указано полное имя папки:

http://mail.company.com/CalDAV/\~username/Calendar/

Аутентифицированный пользователь должен иметь соответствующие права доступа на чтение и/или изменение данных в папках, принадлежащих другим пользователям.

Модуль CalDAV проверяет подписку на папки пользователя для создания списка доступных папок-календарей других пользователей.

Модуль CalDAV сохраняет приложения к объектам в календарях и заданиях в хранилище файлов пользователя, в директории private/caldav/.

Настройка модуля CalDAV

Протокол CalDAV использует в качестве транспорта протокол HTTP, реализуемый модулем HTTPU. Откройте установки модуля HTTPU и найдите раздел доп. протоколов:

Используйте настройку “уровень журнала” для указания, какую информацию модуль проверки орфографии должен сохранять в журнале работы сервера.
Записи, помещённые модулем CalDAV в журнал работы сервера, имеют пометку CalDAV.

Установка “доступ” определяет, клиенты из каких сетей имеют доступ к услуге CalDAV.

Использование метода публикация / подписка (ICS)

В модуле HTTP-User CommuniGate Pro реализован также старый, применявшийся до CalDAV, метод работы с данными в папках календарь и задания.
Модуль позволяет клиентским приложениям получать данные используя формат iCalendar. Эта операция часто называется подписыванием на данные календаря.
Модуль также позволяет клиентским приложениям перезаписывать содержимое папки в формате iCalendar (публиковать данные календаря).

Для получения доступа к данным календаря используется следующий URL:

http://servername:port/CalendarData/mailboxName
https://servername:port/CalendarData/mailboxName

где port является одним из номеров портов модуля HTTP-User (по умолчанию 8100 и 9100).
Если mailboxName заканчивается расширением имени файлаics, то сервер удаляет это расширение.
Если mailboxName отсутствует, то сервер использует имя календаря по умолчанию.

Все запросы данных календаря должны быть аутентифицированным: пользователь должен ввести своё имя и пароль. У пользователя и в домене должна быть включена услуга WebCal.

Если имя домена пользователя или псевдоним имени домена — mail.company.com, номер порта HTTP-User — 80, а имя папки — Calendar, то, в таком случае, для доступа будет использоваться URL

http://mail.company.com/CalendarData/Calendar

или

http://mail.company.com/CalendarData/Calendar.ics

Таким образом может осуществляться доступ к любой папке, имеющей тип календарь или задания. Для доступа к папке другого пользователя должно быть указано полное имя папки:

http://mail.company.com/CalendarData/\\\~username/Calendar.ics

Аутентифицированный пользователь должен иметь соответствующие права доступа на чтение и/или изменение данных в папках, принадлежащих другим пользователям.

Модуль HTTP поддерживает следующие HTTP-операции для раздела /CalendarData/:

  • GET/HEAD: папка разбирается и все элементы данных, в которых содержится информация в формате iCalendar, возвращаются в виде объекта VCALENDAR, имеющего элементы VEVENT и VTODO. Если папка является чужой, то аутентифицированный пользователь должен иметь право доступа “входить” для этой папки.

  • DELETE: папка разбирается и все элементы данных, в которых содержится информация в формате iCalendar, удаляются. Если папка является чужой, то аутентифицированный пользователь должен иметь право доступа “удалить” для этой папки.

  • PUT: тело HTTP-запроса разбирается как объект VCALENDAR. Все обнаруженные элементы VEVENT и VTODO добавляются в папку как отдельные элементы. Если разбор какого-либо элемента закончился неудачно, то никаких элементов не добавляется. Если папка является чужой, то аутентифицированный пользователь должен иметь права доступа “добавить” для этой папки.

Некоторыми приложениями не поддерживается метод “DELETE”. Такие приложения предполагают, что операция “PUT” удаляет всю существовавшую ранее информацию в папке календарь.
Чтобы обеспечить совместимость с такими приложениями, используйте раздел “CalendarDataDel” вместо раздела “CalendarData” или включите в URL параметр DeleteAll=«1».
В этом случае, каждой операции PUT будет предшествовать виртуальная операция “DELETE”, удаляющая все существующие элементы iCalendar из папки.

CardDAV

Сервер CommuniGate Pro поддерживает протокол CardDAV, расширение протокола WebDAV.

Этот протокол позволяет клиентам CardDAV читать и изменять данные контактов пользователя, хранящиеся на сервере.

Полноценный клиент CardDAV способен самостоятельно определить URL для операций по протоколу CardDAV, если его настроить на обращение к корневому элементу:

http://serverName[:port]/

или

https://serverName[:port]/

где port является портом модуля HTTP-User (по умолчанию — 8100, 9100).

Если клиент CardDAV не может определить URL для работы по протоколу CardDAV, его надо задать явно:

http://servername:port/CardDAV/
https://servername:port/CardDAV/

Некоторые клиенты можно настроить для доступа только к определённой папке с контактами. Для доступа к любой из папок с контактами может использоваться следующий URL:

http://servername:port/CardDAV/mailboxName/
https://servername:port/CardDAV/mailboxName/

Если mailboxName заканчивается расширением имени файла vcf, то сервер удаляет это расширение.

Все запросы данных контактов должны быть аутентифицированным: пользователь должен ввести своё имя и пароль. У указанного пользователя и в его домене услуга “WebSite” должна быть включена.

Если имя домена пользователя или псевдоним имени домена — mail.company.com, номер порта HTTP-User — 80, а имя папки — Contacts, то, в таком случае, для доступа будет использоваться URL

http://mail.company.com/CardDAV/Contacts

или

https://mail.company.com/CardDAV/Contacts.vcf

Таким образом может осуществляться доступ к любой папке с контактами. Для доступа к папке другого пользователя должно быть указано полное имя папки:

http://mail.company.com/CardDAV/\~username/Contacts/

Аутентифицированный пользователь должен иметь соответствующие права доступа на чтение и/или изменение данных в папках, принадлежащих другим пользователям.

Модуль CardDAV проверяет подписку на папки пользователя для создания списка доступных папок с контактами других пользователей.

Настройка модуля CardDAV

Протокол CardDAV использует в качестве транспорта протокол HTTP, реализуемый модулем HTTPU. Откройте установки модуля HTTPU и найдите раздел доп. протоколов:

Используйте настройку “уровень журнала” для указания, какую информацию модуль проверки орфографии должен сохранять в журнале работы сервера.
Записи, помещённые модулем CardDAV в журнал работы сервера, имеют пометку CardDAV.

Установка “доступ” определяет, клиенты из каких сетей имеют доступ к услуге CardDAV.