mg-code/yii2-session-timeout-warning

用户会被提醒会话即将过期。

1.1.0 2019-08-07 14:33 UTC

This package is auto-updated.

Last update: 2024-09-08 01:32:33 UTC


README

用户会被提醒会话即将过期。

这是一个简单的会话超时警告实现。插件不会执行任何AJAX调用,否则它将无法与许多项目一起使用。例如RBAC组件始终使用用户身份,并且每次请求都会更新认证会话。

此插件写入和读取cookies。

它支持多个标签页。如果用户从服务器端注销或会话从数据库中清除,则插件将无法工作。

如果用户会话过期,页面将被重新加载。

安装

运行以下命令之一:

$ php composer.phar require mg-code/yii2-session-timeout-warning "@dev"

或将以下内容添加到您的composer.json文件的require部分:

"mg-code/yii2-session-timeout-warning": "@dev"

用法

  1. 在应用程序配置中注册bootstrap类。
[
  'bootstrap' => [
      [
          'class' => \mgcode\sessionWarning\components\SessionWarningBootstrap::className(),
          'initMessages' => true,
      ]
  ],
];

initMesscompoages属性初始化翻译。目前仅支持英语和拉脱维亚语。请贡献力量并添加您的语言。

  1. 将控制器添加到应用程序配置中的controllerMap。
[
  'controllerMap' => [
    'session-warning' => [
      'class' => 'mgcode\sessionWarning\controllers\SessionWarningController',
    ],
  ],
];

注意:如果您正在使用RBAC,您应该允许所有访客访问此控制器。

  1. 在布局视图中插入小部件。
<?= \mgcode\sessionWarning\widgets\SessionWarningWidget::widget([
  //... Properties  ...
]); ?>

属性

  • logoutUrl - 如果设置,则在继续按钮之前显示注销按钮。默认值:null
  • extendUrl - 点击继续按钮时发送AJAX请求的URL。默认:[ '/session-warning/extend' ]
  • warnBefore - 在用户被提醒会话即将过期之前的时间(秒)。默认:300(5分钟)