Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Yii2 如果浏览器关闭,需要注销用户的帮助_Yii2_Yii2 Advanced App - Fatal编程技术网

Yii2 如果浏览器关闭,需要注销用户的帮助

Yii2 如果浏览器关闭,需要注销用户的帮助,yii2,yii2-advanced-app,Yii2,Yii2 Advanced App,我尝试了很多类型的代码,比如使用javascript、jquery,但不可能 需要你的帮助吗 window.addEventListener("beforeunload", function (e) { var confirmationMessage = "\o/"; e = e || window.event; var y = e.pageY || e.clientY; if(y < 0){ createCookie("Window cl

我尝试了很多类型的代码,比如使用javascript、jquery,但不可能

需要你的帮助吗

window.addEventListener("beforeunload", function (e) {
    var confirmationMessage = "\o/";
    e = e || window.event;

    var y = e.pageY || e.clientY;
    if(y < 0){
        createCookie("Window closed","YES",1);
    } else{
        createCookie("Window refress","YES",1);
    } 

});
所有人都认为没用…:-(


您可以通过禁用自动登录以强制注销用户看到最大登录时间:

'user' => [
    'enableAutoLogin' => false,
    'authTimeout' => 300,
],
'session' => [

        'timeout' => 300,

    ],
看 使用此配置,当用户在页面中且在5分钟(300秒)后不执行任何操作时,登录会话已过期;当用户关闭浏览器且在5分钟前未打开浏览器时,会话将过期

注意:不要将
autoRenewCookie
更改为
false

或者试试这个:

$(window).unload( function () {
     jQuery.ajax({url:"logout_url", async:false})
} );

我已经添加了但不起作用的“``` identityClass'=>'common\models\User”,“enableAutoLogin'=>false”,“authTimeout'=>300,``好的,我想你的问题出在会话超时我编辑了我的答案,请检查;)@askmeI需要如果用户关闭浏览器或浏览器选项卡,然后注销强制重新登录如果您强制使用js执行此操作,请参阅我的更新$(…)。卸载不是一个函数
$(window).unload( function () {
     jQuery.ajax({url:"logout_url", async:false})
} );