Есть ли способ добавить пользовательский столбец в таблицу сессий при работе с сессиями pdo в Symfony 4? - PullRequest
2 голосов
/ 16 мая 2019

Я просто настраиваю сеансы Pdo с symfony, которые работают абсолютно нормально для меня, но теперь я ищу, чтобы добавить некоторые дополнительные поля, такие как IP-адрес пользователя, идентификатор пользователя и т. Д., Чтобы позже составить отчет о том, какой логин пользователя из какой области, так что я не нахожуспособ добавления новых столбцов в таблицу сессий, поскольку он работает, немного отличается

  //services.yaml
Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler:
        arguments:

            - !service { class: PDO, factory: 'database_connection:getWrappedConnection' }
            - { lock_mode: 1 }
//framework.yaml 
session:
        enabled: true
        gc_maxlifetime: 36000 #10 hours custom session time
        handler_id: 'Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler'
        save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
        cookie_secure: auto
        cookie_samesite: lax


//database table
CREATE TABLE `sessions` (
    `sess_id` VARCHAR(128) NOT NULL PRIMARY KEY,
    `sess_data` BLOB NOT NULL,
    `sess_time` INTEGER UNSIGNED NOT NULL,
    `sess_lifetime` MEDIUMINT NOT NULL
) COLLATE utf8_bin, ENGINE = InnoDB;

1 Ответ

0 голосов
/ 17 мая 2019

Проблема устранена путем создания третьей таблицы по имени журнала пользователя и передачи в нее идентификатора сеанса и идентификатора пользователя (сеанс и таблица пользователя уже созданы) и некоторых дополнительных полей, таких как местоположение ip и т. Д. всякий раз, когда пользователь логин делает запись в этой таблице

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...