问题描述
假定需要用户登陆后才能发布新信息,通过在控制器层注册中间件来对用户是否登陆来进行判断且重定向页面。
问题出现的环境背景及自己尝试过哪些方法
我打算通过修改请求对象内的url实现页面重定义,但这样无法传递提示信息,也无法实现页面重定向。
相关代码
public function handle($request, \Closure $next)
{
dump(session('userInfo'));
if (session('?userInfo')) {
return $next($request);
} else {
$request->url = '/tp5/public/?s=/user/signIn';
return $next($request);
}
}
1 回答
![?](http://img1.sycdn.imooc.com/545861b80001d27c02200220-100-100.jpg)
皈依舞
TA贡献1851条经验 获得超3个赞
问题代码中的赋值方式只会对param['url']赋值。直接使用重定向助手函数即可。
public function handle($request, \Closure $next)
{
if (session('?userInfo')) {
return $next($request);
} else {
return redirect('/tp5/public/?s=/user/signIn',['message'=>'请先登录']);
}
}
- 1 回答
- 0 关注
- 1026 浏览
添加回答
举报
0/150
提交
取消