2016-06-07 2 views
0

Когда я использую Laravel 5 AuthКак отключить remeber_token, когда пользователь закрывает просматривание в Laravel 5

if (Auth::attempt($auth,true)) { 
     // Check pass... 
} 

для входа, база данных будет держать remeber_token недо я Auth::logout(),

1. как очистить remeber_token, когда я закрываю просмотр?
2. Как установить время ожидания remeber_token?
Спасибо.

+1

http://stackoverflow.com/questions/25183992/why-am-i-always-logged-in-even-after-closing-browser-with-remember-me-set-to-fal –

ответ

2

martinstoeckli сказал:

Было бы хорошо, если фасад Auth будет предлагать недвижимость, чтобы включить/выключить помните маркер. Если веб-сайт не намерен использовать эту функцию, в любом случае это не обязательно для всех. Я нашел относительно легкого обхода помнить функциональность, и не мог видеть, какие проблемы безопасности, до тех пор, пока вы не предлагаете установить помните жетон в приложении:

class User extends BaseModel implements UserInterface, RemindableInterface 
{ 
... 
public function getRememberToken() 
{ 
    return null; // not supported 
} 

public function setRememberToken($value) 
{ 
    // not supported 
} 

public function getRememberTokenName() 
{ 
    return null; // not supported 
} 

/** 
    * Overrides the method to ignore the remember token. 
    */ 
public function setAttribute($key, $value) 
{ 
    $isRememberTokenAttribute = $key == $this->getRememberTokenName(); 
    if (!$isRememberTokenAttribute) 
    { 
    parent::setAttribute($key, $value); 
    } 
} 
... 

Вы можете сослаться на эту ссылку http://laravel.io/forum/05-21-2014-how-to-disable-remember-token

0

Вы не можете ничего сделать при закрытии браузера, потому что для чего-то нужно выполнить некоторый PHP-скрипт. Другими словами, вы не можете делать что угодно, пока вы не назовете какой-либо URL-адрес на своем веб-сайте.

Вы попробовали установить expire_on_close в true в config/session.php?

/* 
|-------------------------------------------------------------------------- 
| Session Lifetime 
|-------------------------------------------------------------------------- 
| 
| Here you may specify the number of minutes that you wish the session 
| to be allowed to remain idle before it expires. If you want them 
| to immediately expire on the browser closing, set that option. 
| 
*/ 

'lifetime' => 120, 

'expire_on_close' => true, 
+0

Я пробовал это раньше, но не работает! Он все еще держит, когда я закрываю просмотр – Fan

+0

все еще сохраняет токен в сеансе? Не может быть. – huuuk

+0

Сохранение в базе данных remeber_token – Fan