嗨,我有一个登录表单,当用户登录时,它应该打开页面,即如果用户直接输入url,它应该重定向回登录页面。 在laravel我读了Auth :: check(),但我使用auth.php进行不同的登录,这是正常的。但我创建了新的登录页面,因为我无法使用auth.php如何继续查看是否设置了会话,如果没有重定向到laravel中的登录页面;
<?php
class TelecallController extends BaseController {
public function __construct() {
$this->beforeFilter(function () {
if(!Session::has('telecall_id'))
{
return Redirect::to('/8032/telecalls/login');
}
}, array('except' => array('')));
}
}
但是我收到以下错误
ERR_TOO_MANY_REDIRECTS
答案 0 :(得分:0)
你得到的错误很简单,看:
if(!Session::has('telecall_id'))
{
return Redirect::to('/8032/telecalls/login');
}
此!Session::has('telecall_id')
的结果在开头为TRUE。
当您转到return Redirect::to('/8032/telecalls/login');
时,telecall_id
的会话值没有任何变化,这就是您一次又一次重定向的原因。
重定向后,您需要确保if(!Session::has('telecall_id'))
的结果为FALSE。所以 - 你需要正确设置会话值。
您可以在这里正确准备会话:https://laravel.com/docs/5.6/session