2017-05-20 29 views
0

私はLaravelと協力しています。私の質問は、Laravelの特定のセッションを特定の有効期限で管理する方法です。特定のセッションの有効期限を設定する方法

セッションの有効期限をsession.phpから延期しますが、ここではすべてのセッションに適用されます。

たとえば、ログインセッションを1週間または特定の時間管理したい場合、他のセッションは1時間後または通常の時間が経過するとブラウザが閉じるように期限が切れます。

+0

[laravel 5.1でどのように '私を覚えていますか?](http://stackoverflow.com/questions/34651823/how-implement-remember-me-in-laravel-5-1) – jbe

+0

@jbeお返事をありがとうございます。私はあなたの返信をありがとうログインセッションのためにのみ動作します。しかし、 "remember_token"はログインのみの仕事です。私はこの機能を他のセッションにも使用したいと考えています。 –

+0

セッションがログインなしで1週間または1時間続くべきかどうかを知りませんか? – jbe

答えて

1

セッションの割り当ての日付をユーザーに保存できます。 ユーザー名の例を見てみましょう。後に続いて

$s = new Session; 
$s->user_id = $user_id; 
$s->session_name = 'name'; 

あなたは単にNOWと$ S->のcreated_at間の時間かどうかを確認できAppで:

ID、USER_ID、セッション名のとのcreated_at MySQLのテーブルsessionを持つあなたは、単に何かのように行うことができますあなたが興味を持っている価値よりも大きい(7日程度)。もしそうなら - レコードを削除し、実行して、セッションを削除します。 session()->forget($s->session_name);

EDITタイムアウトを経過した後、あなたが動的にセッションを忘れることができますので

また、期間の列を追加することができます。

+0

答えていただきありがとうございます。あなたは私のセッションドライバをデータベーステーブルに変更しなければならないと言っている解決策のために? –

+0

私はそれを変更する方法ではなく、追加のテーブルを作成して、セッションファサードとデータベースストレージの両方を使用して処理します。 – Ethris

+0

あなたのソリューションが機能してくれてありがとうございます。 –

関連する問題