目前,如果我在我的网络应用程序中闲置的时间足够长,我的会话就会过期。再次进行交互时,我收到一个错误屏幕,通知我会话超时,而不是将我重定向到主页。
在我的routes.php文件中,我使用的是:
Route::filter('authenticate', function() {
if ( !Session::has('user') && Session::get('user')->id ) { // return true if user not logged
return Redirect::to('/');
}
});
我的逻辑错了吗?
答案 0 :(得分:0)
你的表达永远不会评估为真。你基本上用英语说这个:
如果使用“User”键的会话中没有值,并且具有user键的会话值具有id,则执行...
有一个会话值的密钥为'User'
,但你不能双管齐下。我想你想说出这样的话:
if ( !Session::has('user') || !Session::get('user')->id )
这将在两种情况下执行重定向: