dennis-kashirin/yii2-session-timeout-warning

用户将收到会话即将过期的警告。

安装: 193

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 9

类型:yii2-extension

1.1.0 2019-08-07 14:33 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:58 UTC


README

用户将收到会话即将过期的警告。

与原始代码的差异

  1. 增加了对俄语和乌克兰语的支持

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

此插件写入和读取cookies。

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

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

安装

运行以下命令之一:

$ php composer.phar require dennis-kashirin/yii2-session-timeout-warning "@dev"

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

"dennis-kashirin/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分钟)