2017-12-12 8 views
3

ユーザーを自動的にログアウトするのに2時間を費やしましたが、私が何をしても24時間後にユーザーを強制的にログアウトすることはできません。Laravelのすべてのデバイスからすべてのユーザーを自動的にログアウトするにはどうすればよいですか?

ログインが成功した後、私は私のenvファイルはこの

BROADCAST_DRIVER=log 
CACHE_DRIVER=file 
SESSION_DRIVER=database 
QUEUE_DRIVER=sync 
のように見えるこの

'driver' => env('SESSION_DRIVER', 'database'), 
'lifetime' => 1, 
'expire_on_close' => false, 

のように私のsession.phpファイルルック

Name: remember_web_59ba36addc2b2f9401580f014c7f58ea4e30989d 

Content: eyJpdiI6IkE4aFU0RCtVNkhwK3VMbGJ0ZndVUFE9PSIsInZhbHVlIjoidExYTG9tUUc5RkVQUkhjaU80a1wvdHFXcDk4eUxsaG5SRmxLVXp5c1JMdFJlYzFLZ3ZValBoQkhaY1hkKzFqcHIraDROZE5wU0s0K00wRDlMSVExMk50cUxNK2xzMzgrdmx4VW1hZ1paWVpJPSIsIm1hYyI6Ijc2NDZiYTI2MTU1NTA0YjZjMjA4ZmY1ZmU2MzdmZGFhYzdkMWU4NTRmNzEwYzIwZjRkN2E3ZDNlMDQyNWQ5N2QifQ%3D%3D 

Created: Tuesday, December 12, 2017 at 6:55:00 PM 
Expires: Sunday, December 11, 2022 at 6:55:00 PM 

次のようになりますクッキーを持っています

私のphp.iniはこのようになります

session.gc_maxlifetime=14 

私は変更しようとしました 'driver' => env('SESSION_DRIVER', 'database'),ファイルには、クッキー、redis何も働いていません。

すべてのデバイスからユーザーをログアウトできないのはなぜですか?

+2

セッションディレクトリ内のファイルを削除しますか?ファイルドライバを使用すると、もちろん... – Amarnasan

+0

[Laravel Inactivity time setting]の重複している可能性があります(https://stackoverflow.com/questions/24133830/laravel-inactivity-time-setting) –

+0

@amarnasan remember_tokenをNULLに設定しますが、24時間ごとに強制的にログアウトする必要があります。 – hijacker83

答えて

3

アイドルセッションの期限が切れる時間を/app/config/session.phpファイルで変更することができます。また

24時間、= 1440分

'lifetime' => 1440, 

'expire_on_close' => false, 

上記の方法はあなたのために働いていない場合、あなたは、

これを行うことができます私たちは手動でセッションフォルダを削除しようとしているとUserテーブルのすべてのremember_tokensをクリアします。

flush:allという署名付きflushallでnew commandを作成します。

コマンドのハンドル方法で

行います

$schedule->command('flush:all')->daily(); 

毎晩夜中に実行するための

use App\User; 
use File; 

public function handle() 
{ 
    File::cleanDirectory(storage_path().'/framework/sessions'); 
    User::query()->update(['remember_token' => '']); 
} 

、その後scheduleを、このコマンドPSあなたはこの瞬間のテストをしたい場合は、単に

を実行します
php artisan flush:all 

端末すべてのユーザーをログアウトする必要があります。

+0

hi Sapnesh Naik。返事をありがとう。ユーザーがログアウトしているかどうかを確認するために「1」に設定します。私がクッキーをチェックすると、それは常に2022年に期限が切れると言われています。他に何か試すことができますか? – hijacker83

+0

テストパスしましたか?はいの場合、このメソッドを問題なく使用できます。 –

+0

残念ながら、ユーザーはログアウトしません。私はusers_tableをNULLに設定することでユーザーをログアウトできますが、24時間ごとに強制的にログアウトする必要があります。この記事をhttps://arjunphp.com/laravel5-inactivity-idle-session-logout/で試しても試してみませんでした。私はRequest.php行905でRuntimeExceptionを取得しています: 要求に応じてセッションストアが設定されていません。 – hijacker83

関連する問題