3. Работа с настольными приложениями
Для авторизации настольных приложений на сервере должен быть включен HTTPS. Ниже приведены простые инструкции по настройке HTTPS в вашей среде разработки.
Использование LibreOffice
Установите LibreOffice и настройте свойство jmix.webdav.applications, чтобы открывать в нем все файлы:
jmix.webdav.applications = {"vnd.libreoffice.command":\
{"name":"LibreOffice","protocols":\
{"writable":"vnd.libreoffice.command:ofe|u|",\
"read_only":"vnd.libreoffice.command:ofv|u|"},\
"extensions":["odt", "ods", "odp", "doc", "docx", "xls", "xlsx", "ppt", "pptx"]}}
Создание файла хранилища ключей
-
Установите утилиту
mkcert, следуя инструкциям в ее репозитории: https://github.com/FiloSottile/mkcert. -
Сгенерируйте и установите корневой сертификат:
mkcert -install -
Создайте сертификат для localhost:
mkcert -pkcs12 localhost 127.0.0.1 ::1В текущей папке появится файл
localhost+2.p12. -
Создайте файл хранилища ключей с сертификатом для вашего проекта:
keytool -importkeystore -srckeystore localhost+2.p12 -srcstoretype pkcs12 -destkeystore localhost.jksВ качестве пароля исходного хранилища ключей введите
changeit.В текущей папке появится файл
localhost.jks.
Настройка сервера
В этом разделе описано, как использовать сертификат, сгенерированный в предыдущем разделе, в вашем приложении, когда оно запускается из IDE или как исполняемый JAR.
-
Создайте директорию
src/main/resources/<base-package>/keystoreи скопируйте в нееlocalhost.jks. -
Задайте следующие свойства в файле
application.properties, заменив<base-package>и<password>на реальные значения:# Enables HTTPS server.ssl.enabled=true # The format used for the keystore server.ssl.key-store-type = JKS # The path to the keystore containing the certificate server.ssl.key-store = classpath:<base-package>/keystore/localhost.jks # The password used to generate the keystore server.ssl.key-store-password = <password> # The alias mapped to the certificate server.ssl.key-alias = localhost # Changes the server's port server.port = 8443Значение
<base-package>в пути к хранилищу ключей (свойствоserver.ssl.key-store) должно быть указано как путь с разделителями в виде слэшей:server.ssl.key-store = classpath:com/example/demo/keystore/localhost.jks
-
Откройте главный класс приложения и измените метод
printApplicationUrl(). После настройки HTTPS URL должен быть изменен наhttps://:@EventListener public void printApplicationUrl(final ApplicationStartedEvent event) { LoggerFactory.getLogger(DemoApplication.class).info("Application started at " + "https://localhost:" + environment.getProperty("local.server.port") + Strings.nullToEmpty(environment.getProperty("server.servlet.context-path"))); }
Запуск приложения
После выполнения описанных выше инструкций запустите приложение по адресу https://localhost:8443.
Выберите пункт Knowledge base в меню Application. Нажмите на ссылку документа WebDAV.
Браузер отобразит диалоговое окно с предложением открыть файл WebDAV в LibreOffice. Согласитесь открыть файл.
После того как документ WebDAV будет отредактирован и сохранен, будет создана новая версия документа, которая станет последней версией.
Итоги
Вы узнали, что:
-
Для того чтобы включить открытие и редактирование документов WebDAV в настольных офисных приложениях, необходимо настроить HTTPS для вашего веб-приложения. Это необходимо для обеспечения безопасного соединения между настольными офисными приложениями и сервером WebDAV, особенно при работе с конфиденциальными операциями редактирования и сохранения документов.
-
Шифрование HTTPS обеспечивает безопасный канал передачи данных, предотвращая несанкционированный доступ и гарантируя целостность процесса редактирования документов.