【发布时间】:2017-11-02 09:45:35
【问题描述】:
基本上这是我的控制器的__construct。当非登录用户尝试访问此控制器中的路由时,他基本上被重定向到 login 路由。到目前为止一切顺利 - 如果条件有效,重定向有效,路由有效。
所以接下来我尝试检查用户访问令牌是否有效,如果不是,我会将他重定向到 logout 路线 - 为了简化我的示例,我不这样做,而是检查 $ test_var 等于 1 并重定向到 login,因为我们已经知道此路由名称有效。
既不是第一个 if($test_var == 1),也不是第二个 if($test_var == 1) 触发器 - 没有重定向或死亡。
我什至尝试过 if(1==1) ..
我什至尝试过:
if(isset($this->userCredentials))
return redirect('login');
它仍然没有触发。真的很奇怪,好像我没有先登录 if(!isset... 正在工作并重定向,但是如果我登录了,这段代码什么也不做:
看起来 If 是问题所在,但这个 If 显然超出了量子理论..
这是构造的完整代码:
namespace App\Http\Controllers;
use Input;
use Session;
use Auth;
use Redirect;
class stackoverflowController extends ConnectionController
{
public function __construct()
{
$this->middleware('auth');
$this->userCredentials = Session::get('userCredentials');
if(!isset($this->userCredentials))
return redirect('login');
$test_var = 1;
if($test_var == 1)
return redirect('login');
if($test_var == 1)
die(1);
if(1 == 1)
die(1);
}
【问题讨论】:
标签: php laravel redirect paradox construct