数据库中的 CakePHP 3 个会话 table

CakePHP 3 sessions table in database

我有一些关于将 CakePHP 3 sessions table 存储在数据库中的问题:

1) 有没有办法将 table 从 sessions 重命名为不同的名称?如果是,我应该在哪里指定新名称?

2) 与问题 1 类似:有没有办法重命名 sessions table 中的列名,以便 CakePHP 仍能正常运行?

3) 是否有一种简单的方法来添加 sessions table 的 data 列的最基本的加密?

所以我会cite the database session docs然后也提供一些答案。文档中的答案更完整。

  1. 通过包含 'model' 键指定您要使用的模型。

    'Session' => [
        'defaults' => 'database',
        'handler' => [
            'engine' => 'DatabaseSession',
            'model' => 'MyCustomSessions'
        ]
    ]
    
  2. DatabaseSession 处理程序似乎硬编码 'data' 和其他一些列。但是,如果您想做一些特别的事情,您可以(并且应该)扩展 class

  3. 根据您想要执行的操作,创建您自己的 SessionHandler 似乎是可行的方法。做起来很简单,就是outlined in the docs

我最好的建议是看一眼蛋糕 DatabaseSession。看来您的要求很特殊,这可能是您最好的做法。