Личный кабинет брокера

Личный Кабинет Брокера (ЛК) – веб-приложение для сайта инвестиционной компании или банка, позволяющее организовать систему электронного документооборота между брокером и клиентом, а также для дистанционного предоставления финансовых услуг.


Функциональные характеристики программного обеспечения

Цели и назначение

Личный кабинет брокера предназначен для предоставления дистанционных финансовых услуг клиентам брокера на различных устройствах клиента (десктоп, планшет, смартфон) в браузере и PWA-приложении с целью исключить необходимость посещение офиса брокера.

Программное обеспечение Личный кабинет брокера реализовано в виде веб-приложения. Взаимодействие клиента с веб-приложением происходит на условиях полной конфиденциальности. Обмен данными между браузером клиента и сервером брокера с веб-приложением Личный кабинет брокера производится по протоколу https, предусмотрена 2-х уровневая аутентификация.



Ключевые функции


  • Актуализация анкетных данных клиента
  • Предоставление Клиенту данных о состоянии брокерского счета или инвестиционного портфеля
  • Предоставление на подпись отчетов брокера и документов
  • Прием на исполнение поручений по движению денежных средств/ценных бумаг, совершение внебиржевых сделок и неторговых операций
  • Просмотр отчетности от брокера
  • Служба поддержки (Helpdesk) для удобного общения брокера с клиентами (передача сообщений, файлов, изображений)
  • Создание и изменение банковских реквизитов
  • Создание поручений на вывод денежных средств и перевод ценных бумаг
  • Уведомление пользователей (новости и информирование)
  • Учет отправленных и полученных документов
  • Электронный документооборот с ЭЦП (усиленная неквалифицированная RSA или ПЭП через смс)
  • Работа в режиме мобильного приложения через PWA для смартфонов на Андроид и iPhone




Установка ЛК

    Установить веб-приложение Личный кабинет брокера можно 2мя способами

  • Предоставить удалённый доступ к серверу и наши специалисты установят Личный кабинет брокера и настроят подключение к базам данных. Этот способ предпочтительнее, если нужно быстро развернуть веб-приложение или при отсутствии профильных IT-специалистов. Удалённый доступ можно ограничить подключением через VPN и по IP.
  • Установить Личный кабинет брокера силами своих IT-специалистов, следуя Инструкции по установке БД MariaDB и Личного кабинета брокера. В этом случае мы передаём пакет файлов, инструкции и консультируем по установке.

    Установка БД MariaDB на ОС Debian


  • Выполните в командной строке
    1) sudo apt update
    2) sudo apt upgrade
  • Добавление репозитория MariaDB
    Выполните в командной строке
    1) sudo nano /etc/apt/sources.list.d/mariadb.sources
    Вставляем текст

    MariaDB 11.1 repository list - created 2023-11-20 07:47 UTC
    https://mariadb.org/download/
    X-Repolib-Name: MariaDB
    Types: deb
    deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
    URIs: https://deb.mariadb.org/11.1/debian
    URIs: https://mirrors.aliyun.com/mariadb/repo/11.1/debian
    Suites: bookworm
    Components: main
    Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp

    Сохраняем.
    Следующим шагом, чтобы подтвердить подлинность пакетов, импортируйте ключ MariaDB GPG с помощью следующих команд
    2) sudo apt install apt-transport-https curl
    3) sudo mkdir -p /etc/apt/keyrings
    4) sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
  • Установка MariaDB
    Выполните в командной строке
    1) sudo apt update
    2) sudo apt install mariadb-server
  • Защита установки MariaDB
    После завершения установки MariaDB необходимо защитить ее установку, запустив скрипт безопасности в командной строке
    1) sudo mysql_secure_installation
    Вам будет предложено установить пароль для пользователя root, удалить анонимного пользователя, отключить удаленный вход root, удалить тестовую базу данных и перезагрузить привилегии.
  • Проверка установки MariaDB и работы службы
    Выполните в командной строке
    1) mysql --version
    2) sudo systemctl status mariadb
    3) sudo systemctl enable mariadb
  • Создание пользователя LK
    Выполните в командной строке
    1) mysql -u root -p
    2) GRANT ALL PRIVILEGES ON *.* TO 'lk'@'%' IDENTIFIED BY '!DabSystems!' WITH GRANT OPTION;
    3) FLUSH PRIVILEGES;
    4) exit
  • Доступ к базе данных извне
    Поскольку база данных личного кабинета и сам ЛК могут располагаться на разных серверах, то необходимо будет предоставить доступ к базе данных MariaDB из вне, для этого переходим в конфигурационный файл
    1) sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
    и меняем строчку
    ...
    bind-address = 0.0.0.0
    ...
  • На этом установка и настройка БД MariaDB завершена
  • Перед началом установки Личного кабинета нужно выполнить на БД CABINET4 sql-скрипты

    Установка и настройка ЛК на ОС Debian


  • Установка asp.net 6.0 (Добавление репозитория Microsoft)
    Для установки версии с помощью APT потребуется выполнить несколько команд. Перед установкой .NET выполните приведенные ниже команды, чтобы добавить ключ подписывания пакета Майкрософт в список доверенных ключей и добавить репозиторий пакетов.
    1) sudo wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
    2) sudo dpkg -i packages-microsoft-prod.deb
    3) sudo rm packages-microsoft-prod.deb
    4) sudo apt-get update
    5) apt-get install -y dotnet-sdk-6.0
    6) sudo apt-get install -y dotnet-runtime-6.0
    7) dotnet --list-runtimes
  • Установка веб-сервера Apache
    Выполните в командной строке
    1) sudo apt-get install -y apache2
    2) sudo nano /etc/apache2/sites-available/app.conf
    Вставляем текст
    <VirtualHost *:*>
        RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
    </VirtualHost>

    <VirtualHost *:80>
        ProxyPreserveHost On
        ProxyPass / http://127.0.0.1:5000/
        ProxyPassReverse / http://127.0.0.1:5000/
        ErrorLog ${APACHE_LOG_DIR}/helloapp-error.log
        CustomLog ${APACHE_LOG_DIR}/helloapp-access.log common
    </VirtualHost>

    В редакторе nano сохраняем Ctrl+O, закрываем Ctrl+X 3) sudo a2enmod proxy proxy_http
    4) sudo a2dissite 000-default
    5) sudo a2ensite app
    6) sudo a2enmod headers
  • Создание и настройка службы ЛК
    Выполните в командной строке
    1) nano /etc/systemd/system/Dablk-app.service
    Вставляем текст

    [Unit]
    Description=.NET Example Site
    After=network.target

    [Service]
    WorkingDirectory=/var/www/lk
    ExecStart=/usr/bin/dotnet /var/www/lk/Dablk4.Web.dll
    Restart=always
    RestartSec=10
    SyslogIdentifier=dotnet-example-site
    User=www-data
    Environment=ASPNETCORE_ENVIRONMENT=Production

    [Install]
    WantedBy=multi-user.target

    В редакторе nano сохраняем Ctrl+O, закрываем Ctrl+X

    2) mkdir /var/www/lk
    3) chown www-data:www-data /var/www/lk
    4) Загрузить собранный проект ЛК в папку /var/www/lk

    Также необходимо изменить права на следующие файлы и папки:
    chmod 777 /var/www/lk/App_Data/texts/user.texts.en.json
    chmod 777 /var/www/lk/App_Data/texts/user.texts.invariant.json
    chmod 777 /var/www/lk/App_Data/texts/user.texts.ru.json
    chmod 777 /var/www/lk/App_Data/templates/SettingsEdit/dashboardBannersCustomization.json
    mkdir /var/www/lk/App_Data/upload
    chmod 777 /var/www/lk/App_Data/upload/

    5) nano appsettings.json
    В файле appsettings.json содержится информация о подключении к базам данных ЛК и учетной системы. Для указания параметров подключения к базе данных ЛК необходимо изменить параметр Data.Default, указан нужный IP адрес, порт, наименование базы, пароль. База данных будет сгенерирована автоматически после запуска ЛК

  • Запуск служб
    Выполните в командной строке
    1) systemctl daemon-reload
    2) systemctl stop apache2
    3) systemctl enable apache2
    4) systemctl start apache2
    5) systemctl enable Dablk-app.service
    6) systemctl status Dablk-app.service
  • Решение проблемы при использовании БД MsSQL учетной системы ДиБ Системс
    Для решения проблемы с подключением к базе данный Microsoft Sql Server, если данная проблема связана с SSL Provider необходимо выполнить скрипт FixSSHErrorMsSQL.sh, который расположен в папке с ЛК.
    Выполните в командной строке
    1) chmod ugo+x FixSSHErrorMsSQL.sh
    2) ./FixSSHErrorMsSQL.sh

    Или выполнить команды вручную в командной строке по-очереди:
    1) sed -i 's/\[openssl_init\]/# \[openssl_init\]/g' /etc/ssl/openssl.cnf
    2) sed -i '$a\[openssl_init]' /etc/ssl/openssl.cnf
    3) sed -i '$a\providers = provider_sect' /etc/ssl/openssl.cnf
    4) sed -i '$a\ssl_conf = ssl_sect' /etc/ssl/openssl.cnf
    5) sed -i '$a\[provider_sect]' /etc/ssl/openssl.cnf
    6) sed -i '$a\default = default_sect' /etc/ssl/openssl.cnf
    7) sed -i '$a\legacy = legacy_sect' /etc/ssl/openssl.cnf
    8) sed -i '$a\[default_sect]' /etc/ssl/openssl.cnf
    9) sed -i '$a\activate = 1' /etc/ssl/openssl.cnf
    10) sed -i '$a\[legacy_sect]' /etc/ssl/openssl.cnf
    11) sed -i '$a\activate = 1' /etc/ssl/openssl.cnf
    12) sed -i '$a\[ssl_sect]' /etc/ssl/openssl.cnf
    13) sed -i '$a\system_default = system_default_sect' /etc/ssl/openssl.cnf
    14) sed -i '$a\[system_default_sect]' /etc/ssl/openssl.cnf
    15) sed -i '$a\CipherString = DEFAULT:@SECLEVEL=0' /etc/ssl/openssl.cnf