Дополнительные настройки для 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
, оттуда же и запускается.