【发布时间】:2016-04-12 05:11:28
【问题描述】:
我正在尝试编辑主要的Authenticate.php 中间件,但是当我添加以下内容时,出现错误
app.app 重定向您的次数过多
我的意图是编辑 auth 中间件以检查用户是否有用户名。这将防止某人退出注册页面,然后直接进入网站的安全部分。
认证中间件:
public function handle($request, Closure $next)
{
if ($this->auth->guest()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('/');
}
}
// This is the modified portion. Check for a username, if one is found, complete
the request, otherwise redirect back to the oauth page.
if (Auth::user()->username)
{
return $next($request);
}
return redirect()->route('oauth.oauth')->with('user' , Auth::user()->id);
}
【问题讨论】:
-
这个的用例是什么?如果您想阻止某人访问网站的安全部分,那么您可以按原样使用中间件 - 它已经检查他们是否是访客,如果是,它将他们重定向到主页(如果需要)。
-
注册有2个阶段,第一个是邮箱、密码等。第二个是OAuth与外部服务。如果用户在完成 OAuth 之前退出,如果他们尝试再次打开网站的任何部分,我想将他们送回该页面。由于有几十个路由使用 auth 中间件,我想对其进行修改,而不是制作一个新的以应用到任何地方。
-
该路由是否受此身份验证中间件保护?
-
是的,受此中间件保护。
标签: laravel laravel-5.2