2

我只是用 symfony 配置 Pdo 会话,这对我来说绝对没问题,但现在我希望添加一些额外的字段,如用户 IP、用户 ID 等,以便稍后报告哪个用户从哪个区域登录,所以我找不到添加的方法会话表中的新列,因为它的工作方式有点不同

  //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;
4

1 回答 1

0

通过按名称用户日志创建第三个表并将会话 ID 和用户 ID 传递到其中(会话和用户表已创建)以及一些额外的字段(如 ip 位置等)解决了问题。每当用户登录进入此表时

于 2019-05-17T11:04:44.400 回答