Používam Yii2, chcem sa automaticky odhlásiť a po pevných nečinných sekundách presmerovať na prihlasovaciu stránku.
Už som to skúsil
"components" => [
"user" => [
"identityClass" => "appmodelsUser",
"enableAutoLogin" => true,
"authTimeout" => 60,
]
],
Čo mám robiť ?
odpovede:
1 pre odpoveď č. 1Môžete nastaviť funkciu JavaScriptu, ktorá sa bude spúšťať každú minútu, čo umožní volanie ajaxu a skontroluje, či platnosť relácie pre aktuálneho používateľa vypršala. Potom môžete presmerovať pomocou JavaScriptu pomocou:
window.location("example.com/login");
0 pre odpoveď č. 2
Mali ste pre svojho „používateľa“ vlastnosť „loginUrl“? Pozri http://www.yiiframework.com/doc-2.0/yii-web-user.html
"user" => [ "loginUrl" => ["stránky / prihlásenie"]]
Má váš kontrolór pravidlá pre akcie, ktoré si vyžadujú autentifikovaných používateľov? Pozri http://www.yiiframework.com/doc-2.0/guide-security-authorization.html
0 pre odpoveď č. 3
Don 't nastaviť enableAutoLogin
na true
. Použite nasledujúcu konfiguráciu:
...
"user" => [
"identityClass" => "backendmodelsUsers",
"enableSession" => true,
"authTimeout" => 300,
],
....
// below is documentation from source code for authTimeout
/**
* @var integer the number of seconds in which the user will be logged out automatically if he
* remains inactive. If this property is not set, the user will be logged out after
* the current session expires (c.f. [[Session::timeout]]).
* Note that this will not work if [[enableAutoLogin]] is true.
*/