webmanadmin过期状态不生效

tomlibao

问题描述

只改了 cookie_lifetime 为 0,其余为默认的没动,关闭浏览器后自动失效cookie登录状态,但是没生效。

<?php
/**
 * This file is part of webman.
 *
 * Licensed under The MIT License
 * For full copyright and license information, please see the MIT-LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @author    walkor<walkor@workerman.net>
 * @copyright walkor<walkor@workerman.net>
 * @link      http://www.workerman.net/
 * @license   http://www.opensource.org/licenses/mit-license.php MIT License
 */

use Webman\Session\FileSessionHandler;
use Webman\Session\RedisSessionHandler;
use Webman\Session\RedisClusterSessionHandler;

return [

    'type' => 'file', // or redis or redis_cluster

    'handler' => FileSessionHandler::class,

    'config' => [
        'file' => [
            'save_path' => runtime_path() . '/sessions',
        ],
        'redis' => [
            'host' => '127.0.0.1',
            'port' => 6379,
            'auth' => '',
            'timeout' => 2,
            'database' => '',
            'prefix' => 'redis_session_',
        ],
        'redis_cluster' => [
            'host' => ['127.0.0.1:7000', '127.0.0.1:7001', '127.0.0.1:7001'],
            'timeout' => 2,
            'auth' => '',
            'prefix' => 'redis_session_',
        ]
    ],

    'session_name' => 'PHPSID',

    'auto_update_timestamp' => false,

    'lifetime' => 7*24*60*60,

    'cookie_lifetime' => 0,

    'cookie_path' => '/',

    'domain' => '',

    'http_only' => true,

    'secure' => false,

    'same_site' => '',

    'gc_probability' => [1, 1000],

];

版本:

"require": {
    "php": ">=8.1",
    "workerman/webman-framework": "^2.1",
    "monolog/monolog": "^2.0",
    "webman/admin": "~2.0"
  },

为此你搜索到了哪些方案及不适用的原因

这个是来自老大的回答:

session过期时间受session配置控制 https://www.workerman.net/doc/webman/session.html cookie_lifetime设置为0代表浏览器关闭后cookie删除,session自动过期。 设置后0后已经登录过的浏览器需要清理浏览器缓存才能生效。

144 1 0
1个回答

six

很好理解,cookie是在你改配置前就设置好了,你改配置后对于浏览器上已经生效的cookie不起作用,除非删除cookie,后端重新设置新的cookie。

  • 暂无评论
🔝