繁体   English   中英

Laravel 5.2:无需中间件即可在登录和注册时触摸预期的URL

[英]Laravel 5.2 : touch intended url on login and registeration without middleware

除了其内容外,还有一个页面(路线)本身也具有登录/注册表格。
用户不被迫登录才能访问该页面。 但是登录到该站点将在页面上向他显示更多数据。
如果他尝试通过内部登录/注册表单登录,我将把他重定向回此页面。
我不想使用各种登录类和方法, AuthController坚持使用AuthController
所以显然我应该在预登录/注册之前更改会话intended值,但是如何?

(我知道如果用户尝试访问受保护的路由,他将被重定向到登录页面,然后重定向回预期的url。但这不是我的情况!)

您可以在authenticate.php自定义句柄方法,因为使用身份验证中间件的默认受保护路由

public function handle($request, Closure $next, $guard = null)
{
    if (Auth::guard($guard)->guest()) {
        if ($request->ajax() || $request->wantsJson()) {
            return response('Unauthorized.', 401);
        } else {
            return redirect()->guest('your/url');
        }
    }

    return $next($request);
}

或者您可以创建另一个中间件并在App\\Config.php指定它们,然后在Http\\kernel.php注册它们

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM