Перейти к содержанию

Дополнительные настройки для 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-клиенте необходимо выполнить следующие действия:

  1. В конфигурационном файле app.json (который расположен по пути C:\inetpub\wwwroot\tessa) включить плагин: "CryptoProPluginEnabled": pass:quotes[#true#],

  2. Установить КриптоПро ЭП Browser plug-in. Описание плагина, а также ссылка для его скачивания на странице https://www.cryptopro.ru/products/cades/plugin/.

Проверка работы ЭП

После выполнения указанных выше настроек в web-клиенте в карточке документа для приложенных файлов появится пункт меню “Подписать”:

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

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

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

Результат проверки отображается в открывшемся окне, возможны следующие цветовые обозначения:

  • Зеленый – целостность подписи верна, сертификат проверен и подтвержден доверенным сертификатом.

  • Красный – целостность подпись не верна.

  • Голубой – целостность подписи верна, сертификат не удалось проверить до доверенного.

Настройка Windows аутентификации

Note

Автоматическая Windows аутентификация в Web клиенте доступна только для десктопных версий Chrome и Firefox на платформе Windows.

Note

Описание механизма работы аутентификации пользователей в платформе Tessa можно найти в Руководстве Администратора.

Настройка серверной части, используя средства IIS (только на платформе Windows)

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

  1. В IIS создать пул приложений (в этом примере с именем “tessawin”) с параметрами, аналогичными основному пулу приложений (указать “Без управляемого кода” в выпадающем списке)

  2. Выбрать созданный пул, нажать пункт “Дополнительные параметры” в контекстном меню, и указать ту же учётную запись, которая указывалась для основного пула. Если в настройках основного пула указана встроенная учётная запись ApplicationPoolIdentity, то её необходимо поменять на явно заданную учётную запись, которая у обоих пулов должна быть одинаковой (ApplicationPoolIdentity соответствует разным учётным записям для каждого пула). Не указывайте более одного рабочего процесса для этого пула приложений, независимо от количества процессов для основного пула приложений.

  3. В IIS в папке сайты → Default Web Site → tessa создать новое приложение:

    Укажите псевдоним, например, tw_winauth. Пул приложений - созданный выше “tessawin”. И физический путь (путь к приложению) установите такой же, как у серверной части -C:\inetpub\wwwroot\tessa\web:

  4. Для созданного приложения в разделе “Проверка подлинности” включить Проверка подлинности Windows, остальные - отключить (обычно анонимная аутентификация по умолчанию включена, её необходимо отключить).

  5. В конфигурационном файле 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

    Остальные параметры данной строки описаны в статье, однако менять их не рекомендуется.

  6. В конфигурационном файле 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.

  1. Введите сервер на Linux платформе в домен (если этого не было сделано ранее).

    1. Установите 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

    2. Измените DNS сервер на сервер домена (если это требуется), редактируя файл resolv.conf. Например: sudo nano /etc/resolv.conf.

    3. Введите в домен с помощью команды realm join --user=Administrator DOMAIN.LOCAL, где Administrator имя пользователя с возможностью ввода в домен, а DOMAIN.LOCAL - название домена.

    4. Проверьте с помощью команды realm list успешность входа.

    5. Файл по пути /etc/krb5.keytab сохраните и переходите к пункту 3. Действия в пункте 2 не требуются.

  2. Сгенерируйте keytab файл (если сервер был введен ранее в домен, но keytab файл не сохранился, или не был выполнен пункт 1):

    1. Добавьте сервер (если это не было сделано ранее), к примеру, HOST-LINUX в домен с помощью команды dsadd. Пример: dsadd computer "CN=HOST-LINUX,CN=Computers,DC=DOMAIN,DC=LOCAL"

    2. Свяжите сервер (если это не было сделано ранее) и имя субъекта-службы (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.

    3. Проверьте связь имени субъекта-службы (SPN) и сервера с помощью команды setspn. Пример: setspn -L DC\HOST-LINUX

  3. Полученный keytab файл поместите в папку tessa, где находится файл лицензии, к примеру, /home/tessa/tessa/web

  4. В файле app.json включите настройку Kerberos.Enabled. Так же для работы аутентификации по указанному логину и паролю включите LDAP аутентификацию.

  5. Установите настройку "Kerberos.DisableRealmCheck": true, если требуется отключить проверку соответствия имен домена. Оставьте значение по умолчанию false, если ваша доменная архитектура это позволяет.

  6. Пример настройки:

    "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}))" },

  7. Параметры GuyFawkesAuth (путь до веб-приложения в IIS) и WinAuth (путь до веб-приложения в IIS для аутентификации в web-клиенте) оставьте пустыми. Пример настройки:

    "Kerberos.Enabled": true, "Kerberos.Keytab": "*.keytab", "Kerberos.DisableRealmCheck": false,

    "GuyFawkesAuth": "", "WinAuthIsEnabled": true, "WinAuth": "", "WinAutoLogin": true,

  8. Добавьте DNS запись уровня А (если это не было сделано ранее):

    1. Откройте DNS Manager с помощью команды dnsmgmt.msc.

    2. Раскройте узел Forward Lookup Zones.

    3. Кликните на домене правой кнопкой мыши и выберете New Host (A or AAAA)....

    4. Введите информацию об имени хоста целевой машины и ее 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, оттуда же и запускается.

Back to top