У нас в корпоративном портале есть библиотека документов. Этот модуль позволяет работать с документами компании и редактировать их в Office открывая непосредственно из браузера. Для этого используется технология webdav, которая по умолчанию работает для Internet Explorer в связке с MS Office 2010. Или через плагин для браузера FireFox. Но есть определенное неудобство. Дело в том, что доступ ко всей информации портала возможен только по паролю, и чтобы пользователь оставался авторизованным не вводя пароль на каждый хит, в куки браузера передаётся уникальный идентификатор сессии. Но вот офис ничего не знает об этом, поэтому требует от пользователя ввода пароля. [CUT]
Что, согласитесь, не очень удобно. А когда надо часто работать с документами, может вообще сильно досаждать.
Что можно сделать
Самое очевидное решение - настроить NTLM для работы с порталом. Тогда все приложения компьютера (в том числе Office) будут передавать специальные данные авторизации на портал. Но настройка NTLM сопряжена с определенными техническими трудностями. А кроме того, в организации может быть не установлен AD сервер. И могут быть пользователи портала вне домена AD. Иными словами, не всегда это возможно.
Можно сделать иначе: передавать офису в ссылке на документы идентификатор сессии, а на стороне сервера незаметно для основного функционала подменять его. Открываться будет всегда без пароля, но при сохранении может потребоваться ввод пароля если текущая сессия истекла (это будет особенно актуально если в настройках модуля проактивной защиты включена смена идентификатора сессии).
Просто так в качестве параметра передавать идентификатор сессии нельзя т.к. протокол webdav подразумевает несколько последовательных запросов к серверу, в процессе которых параметры запроса теряются.
Решение
Нам потребуется сделать две правки: подменить ссылку на документы и научиться правильно понимать такие ссылки.
Для надо:
1) Скопировать шаблон компонента bitrix:webdav.section.list в шаблон сайта .default (или текущего сайта). Или, говоря проще, папку /bitrix/components/bitrix/webdav.section.list/templates/.default копируем в /bitrix/templates/.default/components/bitrix/webdav.section.list Теперь вместо стандартного шаблона библиотека документов будет использовать наш собственный.
2) Создать файл result_modifier.php в папке /bitrix/templates/.default/components/bitrix/webdav.section.list/.default со следующим содержимым:
Убедитесь что нет пробелов и переносов строк до "<?" и после "?>", иначе можете получить "ошибку в типе содержимого". Всё! Теперь документы можно открывать и сохранять без дополнительного запроса авторизации!
чтобы пользователь оставался авторизованным не вводя пароль на каждый хит, в куки браузера передаётся уникальный идентификатор сессии.
Небольшое дополнение: если при авторизации пользователь ставит галочку "Запомнить меня на этом компьютере", то IE (обычно) передает куку браузера в MS Office. С Firefox это 100% не работает.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».