инвентаризация:настройка

Это старая версия документа!


Инвентаризация: Настройка

Приложение поддерживает следующие режимы авторизации пользователей:

  • Отсутствие контроля прав - в таком режиме можно выполнять все действия может любой человек получивший веб доступ (ограничения могут быть настроены на уровне авторизации веб сервера или ограничения по IP). Приложение работает в таком режиме по умолчанию
  • Требование аутентификации для работы - для доступа к данным нужно будет пройти аутентификацию, выполнив «Вход». Для этого должна быть настроена аутентификация и выставлен параметр
    'authorizedView'=>false,	//аутентификация достаточна для авторизации
    • false - (по умолчанию) не требовать аутентификацию,
    • true - требовать аутентификацию для работы
  • RBAC - Role Based Access Control, в таком режиме каждому пользователю необходимо задавать разрешения, на просмотр, редактирование и изменение доступа пользователей. Для этого должна быть настроена аутентификация и выставлен параметр
    'useRBAC'=>false,   		//включить RBAC и выдавать права только тем кому они явно назначены
    • false - (по умолчанию) ничего не требовать - у всех полные права
    • true - права назначаются явно каждому пользователю, по умолчанию никто ничего не может (если включено authorizedView, то авторизованные получают роль viewer)

Комбинации аутентификации и RBAC:

authorizedView useRBAC результат
false false аутентификации, авторизации и ограничений в правах нет - всем можно все
true false аутентификация требуется, полные права у всех аутентифицированных
false true аутентификация не требуется, но без нее права только на просмотр, остальные нужно выдавать явно и они будут предоставлены только после аутентификации
true true аутентификация требуется, и никаких прав по умолчанию нет, все права нужно выдавать явно

Чтобы пользователь мог вводить пароль, надо их где-то хранить, вариантов всего два

Хэши паролей зашифрованные Blowfish будут храниться прямо в БД. Для включения такого режима нужно выставить параметр

'localAuth'=>true,   		//включить локальную БД паролей

Для этого локальное хранение паролей должно быть отключено:

'localAuth'=>false,   		//включить локальную БД паролей

Настройки LDAP указываются следующим образом:
нужно создать файл config/ldap.php следующего содержания:

<?php
return [
    'class'=>'Edvlerblog\Adldap2\Adldap2Wrapper',
    'providers'=> [
        'default'=>[
            'autoconnect'=>true,
            'config'=>[
                'ad_port'      => 636,
                //'ad_port'      => 389,
                'hosts'    => ['dc1.domain.local','dc2.domain.local'],
                'account_suffix' =>  '@domain.local',
                'base_dn' => "DC=domain,DC=local",
                //под кем подключиться к АД (подойдет любой пользователь. права админа не нужны)
                'username' => 'inventory@domain.local',
                'password' => 'SuperSecretPassword1!',
                'use_ssl'   => true,
                'use_tls'   => true,
                'custom_options'   => [
                    // See: http://php.net/ldap_set_option
                    LDAP_OPT_X_TLS_REQUIRE_CERT => LDAP_OPT_X_TLS_NEVER
                ],
            ],
        ],
    ],
];
  • Стартуем приложение без контроля доступа
    'authorizedView'=>false,
    'useRBAC'=>false,
  • Заводим пользователя вручную (на этом этапе для этого не нужно ни полномочий ни авторизации), допустим это пользователь pupkin
  • Настраиваем аутентификацию (включаем локальную или настраиваем LDAP)
  • В случае локальной аутентификации создаем(сбрасываем) пароль созданному пользователю pupkin
  • Включаем RBAC
    'useRBAC'=>true,
  • Выдаем pupkin права админа из консоли
    php yii rbac/grant admin pupkin

    либо при работе в докере контейнере

    docker exec -it "armsdocker-app-arms-app-1" php yii rbac/grant admin pupkin
  • Авторизуемся под pupkin
  • ???
  • PROFIT

Дополнительные параметры определяются в файле config/params.local.php в формате

return [
    'param'=>'value',
];

Авторизация/аутентификация

  • authorizedView: true|false требовать авторизации для работы с системой
  • useRBAC: true|false использовать разграничение прав на базе ролей
  • localAuth: true|false использовать локальную БД паролей для авторизации (иначе LDAP)

Настройки генератора номеров оборудования

  • techs.invNumStrPads: количество знаков числовой части инвентарного номера в зависимости от количества префиксов. Default:
    [9,6,4,4]

    - без префикса 9, с одним префиксом 4, с двумя 4, дальше также 4…

Пример

  • techs.prefixFormat: формат автоматического формирования префикса инв. номера. Default:
    ['place','org','type']

    - сначала префикс помещения, потом организации-владельца оборудования, потом тип оборудования

  • techs.invNumMaxLen: максимальная длина в которую будет пытаться уложиться формирование инв. номера уменьшая по возможности. Default: 15 (Внимание, макс. размер поля - 16 знаков)

Дополнительная маркировка

  • techs.uidLabel: название дополнительной маркировки оборудования. Напр. QR-код, Штрих-код. Default: Доп. маркировка
  • techs.uidHint: подсказка для заполнения дополнительной маркировки оборудования. Default: Какая-либо дополнительная маркировка нанесенная на оборудование

Сети

  • networkDescribeSegment: показывать описание сегмента сети на страничке сети. Default: auto
    • true - да
    • false - нет
    • auto - если нет описания самой сети
  • networkInlineDescriptionLimit: максимальное количество строк описания сети которое выводить на прямо на страничку. Все что больше будет скрыто во вкладку на страничке. Default: 20

Подразделения

  • departments.enable: включить использование функциональных подразделений (если оргструктура организаций не отображает функционального разделения на отделы)
    • true - включить
    • false - выключить (по умолч.)

Интеграция с Wiki

  • wikiUrl: адрес dokuWiki для интеграции
  • wikiUser: логин для подключения к dokuWiki
  • wikiPass: пароль для к dokuWiki
  • инвентаризация/настройка.1711207957.txt.gz
  • Последнее изменение: 2024/03/23 15:32
  • admin