Дополнительные настройки для web-клиента¶
В этом разделе указаны опциональные настройки, которые задействуются в web-клиенте. Если web-клиент не используется или перечисленная ниже функциональность не требуется, то вы можете пропустить этот раздел.
Список особенностей web-клиента и его отличие от desktop-клиента доступен в документе Особенности и ограничения Web-клиента
Предпросмотр файлов¶
Описание¶
В карточках web клиента есть возможность предпросмотра приложенных файлов (т.е. просмотреть содержимое файла без его сохранения на диск). Предпросмотр для некоторых видов файлов работает без дополнительных настроек, например:
-
текстовые файлы -
txt, -
изображения -
png,jpegи др., -
web страницы -
htmlи др., -
pdfфайлы (для работы предпросмотраpdfфайлов необходимо убедиться, что соответствующая настройка включена в конфигурационном файлеapp.json:"PreviewPdfEnabled": *true*).
Предпросмотр файлов с расширением tiff выполняется с помощью преобразования данного файла (плагином сервиса Chronos) в pdf и последующим отображением его в web клиенте.
Предпросмотр для офисных видов файлов (doc, docx, xls, xlsx, ppt, pptx, rtf и др.) работает посредством конвертации их в pdf через LibreOffice/OpenOffice и просмотре при помощи pdf.js.
При этом на сервере хранится кэш файлов, которые были сконвертированы для предпросмотра. При повторной попытке предпросмотра того же файла любым пользователем - сразу отображается уже сконвертированный pdf файл. Если файл был изменен (т.е. создана новая версия), то конвертация будет выполняться заново. Более подробно кэш файлов описан в руководстве администратора.
Note
Конвертация файлов в pdf для предпросмотра может использоваться не только в web-клиенте, но и в толстом клиенте, при выставлении соответствующей настройки в карточке настроек сервера (см. Руководство администратора).
Настройка предпросмотра файлов¶
На сервере, где запущен Chronos, должен быть установлен и настроен офисный пакет LibreOffice или OpenOffice (для 64-битной системы должна быть установлена 64-битная версия офисного пакета LibreOffice/OpenOffice).
В конфигурационном файле сервиса Chronos (расположенного по пути Chronos\app.json) в параметре "OpenOfficePython" необходимо указать путь к файлу python.exe (интерпретатору языка Python), который расположен внутри папки с установленным LibreOffice/OpenOffice. По умолчанию в конфигурационном файле прописан путь для LibreOffice.
Important
Конвертация выполняется плагином Chronos (FileConverterPlugin) в один поток. Большое количество одновременных запросов на конвертацию может создать существенную нагрузку на сервер. Чтобы снять эту нагрузку с сервера приложений, сервис Chronos можно продублировать на отдельном сервере и настройками отключить все плагины, кроме плагина конвертации. Отключить плагины можно следующим образом: в папке Chronos\Plugins\Tessa\configuration во всех xml файлах (кроме FileConverter.xml) выставить disabled="*true*".
Note
В рамках проектного решения можно переопределить механизм конвертации в pdf, например, на использование SharePoint Word Authomation Services. Для этого нужно написать расширение, в котором переопределить класс Tessa.Extensions.Default.Chronos.FileConverters.PdfFileConverterWorker (исходный код класса входит в типовое решение, т.е. открыт для изучения и изменения. В комментариях в коде описано, что класс делает и как его переопределить). Это расширение должно быть добавлено в Chronos.
ЭП - электронная подпись¶
В web-клиенте есть возможность использовать ЭП для подписания файлов. По умолчанию данный функционал отключен.
Настройка ЭП¶
Для настройки ЭП в web-клиенте необходимо выполнить следующие действия:
-
В конфигурационном файле app.json (который расположен по пути
C:\inetpub\wwwroot\tessa) включить плагин:"CryptoProPluginEnabled": pass:quotes[#true#], -
Установить КриптоПро ЭП Browser plug-in. Описание плагина, а также ссылка для его скачивания на странице https://www.cryptopro.ru/products/cades/plugin/.
Проверка работы ЭП¶
После выполнения указанных выше настроек в web-клиенте в карточке документа для приложенных файлов появится пункт меню “Подписать”:

При нажатии на него откроется окно для выбора ключа, которым необходимо подписать данный файл:

После успешного подписания файла около него появится дополнительный значок:

Проверка подписей также выполняется с помощью меню на файле:

Результат проверки отображается в открывшемся окне, возможны следующие цветовые обозначения:
-
Зеленый – целостность подписи верна, сертификат проверен и подтвержден доверенным сертификатом.
-
Красный – целостность подпись не верна.
-
Голубой – целостность подписи верна, сертификат не удалось проверить до доверенного.

Настройка Windows аутентификации¶
Note
Автоматическая Windows аутентификация в Web клиенте доступна только для десктопных версий Chrome и Firefox на платформе Windows.
Note
Описание механизма работы аутентификации пользователей в платформе Tessa можно найти в Руководстве Администратора.
Настройка серверной части, используя средства IIS (только на платформе Windows)¶
Для настройки возможности автоматической аутентификации в Web клиенте необходимо выполнить следующие действия:
-
В IIS создать пул приложений (в этом примере с именем “tessawin”) с параметрами, аналогичными основному пулу приложений (указать “Без управляемого кода” в выпадающем списке)

-
Выбрать созданный пул, нажать пункт “Дополнительные параметры” в контекстном меню, и указать ту же учётную запись, которая указывалась для основного пула. Если в настройках основного пула указана встроенная учётная запись
ApplicationPoolIdentity, то её необходимо поменять на явно заданную учётную запись, которая у обоих пулов должна быть одинаковой (ApplicationPoolIdentityсоответствует разным учётным записям для каждого пула). Не указывайте более одного рабочего процесса для этого пула приложений, независимо от количества процессов для основного пула приложений.
-
В IIS в папке
сайты → Default Web Site → tessaсоздать новое приложение:
Укажите псевдоним, например,
tw_winauth. Пул приложений - созданный выше “tessawin”. И физический путь (путь к приложению) установите такой же, как у серверной части -C:\inetpub\wwwroot\tessa\web:
-
Для созданного приложения в разделе “Проверка подлинности” включить Проверка подлинности Windows, остальные - отключить (обычно анонимная аутентификация по умолчанию включена, её необходимо отключить).
-
В конфигурационном файле
C:\inetpub\wwwroot\tessa\web\web.configубедиться, что включена Windows аутентификация (параметрforwardWindowsAuthToken):<aspNetCore processPath=".\Tessa.Web.Server.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="true" requestTimeout="00:10:00" startupTimeLimit="3600" hostingModel="InProcess">Note
Остальные параметры данной строки описаны в статье, однако менять их не рекомендуется.
-
В конфигурационном файле
C:\inetpub\wwwroot\tessa\app.jsonвключить параметр"WinAuth"(удалить служебные символы//перед параметром).-
В параметре
"WinAuthIsEnabled"укажитеtrue. -
В параметре
"WinAuth"необходимо указать путь к точке с windows аутентификацией:"tessa/tw_winauth", гдеtessa- путь к папке в IIS. -
В параметре
"GuyFawkesAuth"– путь к точке с приложением и анонимной аутентификацией:"tessa/web". -
По умолчанию указан параметр
"WinAutoLogin": true, включающий автоматический вход с windows аутентификацией. Если автоматический вход не выполнен, то отображается обычное окно входа с сообщением. Если вход выполнен, но требуется ввести другие логин/пароль, то пользователь может выполнить выход из учётной записи, что переведёт его на окно входа с возможностью ввести любые логин/пароль или нажать кнопку “Вход Windows”. Если автоматический вход необходимо выключить для всех пользователей, то укажите значениеfalseдля этого параметра.
-
Note
Путь к приложениям необходимо указывать в формате название сайта или папки / название приложения.

Теперь необходимо перезапустить оба пула приложений.
Настройка серверной части, используя модуль Kerberos аутентификации в платформе Tessa (работает на Windows и Linux платформах)¶
Для настройки возможности Windows аутентификации на Linux необходимо выполнить следующие действия:
Note
Проверьте наличие keytab файла по пути /etc/krb5.keytab. Если файл существует и сервер приложений введён в домен, то переходите к пункту 3. Если сервер введён в домен, но отсутствует keytab файл, то переходите к пункту 2, иначе начинайте настройку с пункта 1.
-
Введите сервер на Linux платформе в домен (если этого не было сделано ранее).
-
Установите realmd с помощью команды
yum installилиapt-get. Например:yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python -y -
Измените DNS сервер на сервер домена (если это требуется), редактируя файл
resolv.conf. Например:sudo nano /etc/resolv.conf. -
Введите в домен с помощью команды
realm join --user=Administrator DOMAIN.LOCAL, где Administrator имя пользователя с возможностью ввода в домен, а DOMAIN.LOCAL - название домена. -
Проверьте с помощью команды
realm listуспешность входа. -
Файл по пути
/etc/krb5.keytabсохраните и переходите к пункту 3. Действия в пункте 2 не требуются.
-
-
Сгенерируйте keytab файл (если сервер был введен ранее в домен, но keytab файл не сохранился, или не был выполнен пункт 1):
-
Добавьте сервер (если это не было сделано ранее), к примеру,
HOST-LINUXв домен с помощью команды dsadd. Пример:dsadd computer "CN=HOST-LINUX,CN=Computers,DC=DOMAIN,DC=LOCAL" -
Свяжите сервер (если это не было сделано ранее) и имя субъекта-службы (Service Principal Name, далее SPN) с помощью команды ktpass. Пример:
ktpass /mapuser DC\HOST-LINUX /princ HTTP/HOST-LINUX@DOMAIN.LOCAL /pass Master1234 /ptype KRB5_NT_SRV_HST /crypto all /mapop set /out c:\temp\web.keytab +answerгде через /pass указывается пароль, который будет установлен для учетной записи TessaUser, а /out - указание папки экспортаNote
Если ваш сервер доступен в сети под несколькими DNS именами (они же SPN), то следует воспользоваться командой ktpass с дополнительными аргументами. Например:
ktpass /mapuser DC\HOST-LINUX /princ HTTP/HOST-LINUX2@DOMAIN.LOCAL /pass Master1234 -setpass /kvno 2 /ptype KRB5_NT_SRV_HST /crypto all /mapop set /in c:\temp\web.keytab /out c:\temp\web2.keytab -setupn. Обратите внимание на параметр/kvnoравный 2. В случае, если при генерации нового keytab файла он увеличится, то предыдущие keytab файлы перестанут действовать. Поэтому используется параметр-setpassотключающий изменение пароля. Проверить уровень kvno можно двумя последовательно введенными командами:ldifde -d "CN=HOST-LINUX,CN=Computers,DC=DOMAIN,DC=LOCAL" -l "userPrincipalName,servicePrincipalName,msDS-KeyVersionNumber" -f c:\temp\account.ldifиtype c:\temp\account.ldif. Kvno это атрибутmsDS-KeyVersionNumber. -
Проверьте связь имени субъекта-службы (SPN) и сервера с помощью команды setspn. Пример:
setspn -L DC\HOST-LINUX
-
-
Полученный keytab файл поместите в папку tessa, где находится файл лицензии, к примеру,
/home/tessa/tessa/web -
В файле app.json включите настройку
Kerberos.Enabled. Так же для работы аутентификации по указанному логину и паролю включите LDAP аутентификацию. -
Установите настройку
"Kerberos.DisableRealmCheck": true, если требуется отключить проверку соответствия имен домена. Оставьте значение по умолчаниюfalse, если ваша доменная архитектура это позволяет. -
Пример настройки:
"LDAP": { "Enabled": true, "UseSsl": false, "Url": "DOMAIN.LOCAL", "Port": null, "TimeoutMilliseconds": null, "BindDn": "DC\\TessaUser", "BindCredentials": "Master1234", "SearchBase": "dc=domain,dc=local", "SearchFilter": "(&(objectClass=person)(sAMAccountName={0}))" },
-
Параметры
GuyFawkesAuth(путь до веб-приложения в IIS) иWinAuth(путь до веб-приложения в IIS для аутентификации в web-клиенте) оставьте пустыми. Пример настройки:"Kerberos.Enabled": true, "Kerberos.Keytab": "*.keytab", "Kerberos.DisableRealmCheck": false,
"GuyFawkesAuth": "", "WinAuthIsEnabled": true, "WinAuth": "", "WinAutoLogin": true,
-
Добавьте DNS запись уровня А (если это не было сделано ранее):
-
Откройте DNS Manager с помощью команды
dnsmgmt.msc. -
Раскройте узел Forward Lookup Zones.
-
Кликните на домене правой кнопкой мыши и выберете
New Host (A or AAAA).... -
Введите информацию об имени хоста целевой машины и ее IP-адрес в сети (более подробно см. Руководство по установке СЭД Tessa на Linux).
-
Настройка браузера¶
-
Настройка браузера Chrome:
Запустите
Панель управления - Свойства обозревателя. На вкладке “Безопасность” для зоны Надежные узлы в разделе “Уровень безопасности” нажмите на кнопку “Другой”:
Прокрутите список, чтобы для параметра “Проверка подлинности пользователя” выставить Автоматический вход в сеть с текущим именем пользователя:

Далее необходимо сервер добавить в надежные узлы:

В открывшемся окне прописываем имя сервера Tessa:

-
Настройка браузера Firefox:
В адресной строке браузера введите
about:config. Далее в поле поиска введитеnetwork.automatic. Дважды кликните на параметреnetwork.automatic-ntlm-auth.trusted-uris:
В открывшемся окне пропишите имя сервера Tessa:

Проверка работы Windows аутентификации¶
Откройте адрес в браузере https://SERVER_NAME/tessa/web и проверьте - должно открыться окно логина, где также есть кнопка Win Login:

Нажав на кнопку Win Login, произойдет автоматическая аутентификация в Web клиенте Tessa под текущей учетной записью пользователя.
Note
В Tessa в карточке сотрудника должен быть указан тип входа в систему - Пользователь Windows, а в поле “Аккаунт” - корректная учетная запись.
ADFS¶
Web-клиент поддерживает аутентификацию через ADFS (Active Directory Federation Services), основанную на стандарте SAML 2.0.
Для работы ADFS необходимы два сертификата: сертификат identity provider (idp.pem, его вам должен выдать ADFS provider) и service provider (sp.pfx, это ваш сертификат, его необходимо сгенерировать самостоятельно). Эти сертификаты обычно размещаются рядом с конфигурационным файлом web-приложения app.json, в котором и задаются настройки SAML.
Для того чтобы включить аутентификацию через ADFS, требуется настроить приложение через файл конфигурации app.json. Все настройки находятся в отдельном блоке “SAML”.

Параметр |
Описание |
|---|---|
SignIn |
включает и отключает аутентификацию через ADFS. |
SiteURL |
URL приложения. |
SPEntityID |
Уникальный id приложения для service provider. |
SingleSign |
URL для запроса аутентификации. |
SingleLogout |
URL для запроса логаута. |
IDPCert |
Путь до сертификата identity provider. Для IDCert, SPCert действуют обычные правила указания путей в app.json. Если файлы сертификатов расположены в той же папке, что и app.json, используйте префикс ‘@’, чтобы имя файла выглядело так: ‘@certname.pem’. |
SPCert |
Путь до сертификата service provider. |
SPCertPass |
Пароль для сертификата service provider. |
SignAlgorithm |
Криптоалгоритм. |
CertificateValidationMode |
Метод проверки сертификата. |
RevocationMode |
Метод проверки сертификата. |
CreateUserAfterAuthenticationIfNotExists |
Если флаг установлен в true, то при успешной adfs аутентификации система автоматически создает пользователя, если его нет в системе. В карточке сотрудника заполняются поля: Имя, E-mail, Логин. Для дополнения карточки перед сохранением можно написать серверное расширение на сохранение карточки сотрудника (подробнее описано в руководстве разработчика Web-клиента). |
AddNewUserToRoles |
Перечисление идентификаторов статических\динамических ролей через запятую, в которые система включит пользователя автоматически при создании. Например, ‘7ff52dc0-ff6a-4c9d-ba25-b562c370004d’ это идентификатор динамической роли ‘Все сотрудники’. |
LoginClaimType |
Идентификатор xml атрибута логина сотрудника в ответном сообщении от identity provider. По умолчанию равен http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name. |
NameClaimType |
Идентификатор xml атрибута имени сотрудника в ответном сообщении от identity provider. По умолчанию равен http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name. |
EmailClaimType |
Идентификатор xml атрибута электронной почты сотрудника в ответном сообщении от identity provider. По умолчанию равен http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. |
SetSAMLCookie |
Если флажок установлен, то после успешной аутентификации будут установлены кукисы для быстрой повторной аутентификации на authentication сервере. |
ExpireTimeSpan |
Продолжительность действия cookie для adfs аутентификации. По умолчанию равно 24 часа. |
UpdateEmailLoginUsers |
Если флажок установлен, то аутентификация происходит по следующему алгоритму: если по login параметру сотрудник не найден, то пытаемся найти его по email параметру в поле login карточки сотрудника. Если по email сотрудник найден, то обновляем его login в карточке на актуальный. |
После настройки метаданные будут доступны по адресу %SiteURL%/SAML/Metadata. При типовой установке это адрес вида https://your_server_name.ru/tessa/web/SAML/Metadata. Обращаем ваше внимание, что регистр символов важен!
Note
Если CertificateValidationMode отличен от “None”, то необходимо добавить сертификат identity provider (idp.pem) в доверенные сертификаты на сервере приложений.
Note
SPEntityID - уникальный id приложения должен быть зарегистрирован в ADFS сервисе. ADFS-провайдеру отправляется SPEntityID и ссылка на метаданные, которые доступны по адресу %SiteURL%/SAML/Metadata

При включенной аутентификации ADFS окно логина будет с одной кнопкой Login.

Note
В Tessa в карточке сотрудника должен быть указан тип входа в систему - Пользователь Windows, а в поле “Аккаунт” - учетная запись или уникальный идентификатор пользователя. Сопоставление сотрудника в Tessa и сотрудника из ADFS сервиса происходит по email адресу сотрудника. Поэтому в карточке сотрудника должен быть указан актуальный email адрес.
Установка Deski¶
Deski - это приложение-ассистент, позволяющее пользователям web-клиента работать с файлами (например, открывать на редактирование), не скачивая их в браузере.
Deski кэширует файлы в папке пользователя в зашифрованном виде, и выполняет функцию экономии трафика, позволяя не скачивать файлы с сервера, если они уже доступны локально.
В архиве со сборкой, в папке DeskiSetup в подпапках расположены инсталляторы для разных операционных систем. Все инсталляторы автоматически публикуются при установке конфигурации, далее пользователи могут самостоятельно скачать и установить данное приложение (более подробно в Руководстве пользователя), правами администратора при этом пользователям обладать не надо.
Note
Если конфигурация была установлена вручную без задействования скриптов или же автоматическая публикация по каким-то причинам не прошла, то опубликовать Deski можно вручную (см. Руководство администратора).
По умолчанию приложение устанавливается в папку профиля пользователя LocalAppData, оттуда же и запускается.